cancel
Showing results for 
Search instead for 
Did you mean: 

RS485 UART multiprocessor communication to match 2 addresses (Broadcast & Unicast)

zhiyongwoo
Associate III

Similar question found in the previous post: https://community.st.com/s/question/0D50X00009XkbEZSAZ/uart-multiprocessor-communication?t=1594178292764

In the post, it did mentions about supporting Broadcast Message and Specific Address Message but it doesn't have answer. So I am here to ask this question.

In MODBUS,

  1. Broadcast Message structure is like: Address = 0x00 then follow by data bytes.
  2. Unicast Message structure is like: Address = 0x30 (say this is the slave address) then follow by the data bytes.

According to the Reference Manual, the STM32F4xx support the Address matching where it allows user to define their address in CR2 - ADD[3:0]. Therefore Unicast Communication is not an issue and it can filter unwanted message as soon as the Address byte (9th bit is not 1).

So, we know Unicast can be done easily but what about the Broadcast which uses address 0x00? How can I make the STM32 support 2 addresses? Do I need to use another USART module to do the 0x00 address matching?

Please help to advice.

0 REPLIES 0