大家好、
我开发了一个系统、其中设备应通过 RS485进行通信。 为此、我想使用 UART 的9位模式。 我的问题是:
我应该如何设置设备自身监听的地址屏蔽(例如:2)和广播(0)地址?
此致、
Norbert
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
大家好、
我开发了一个系统、其中设备应通过 RS485进行通信。 为此、我想使用 UART 的9位模式。 我的问题是:
我应该如何设置设备自身监听的地址屏蔽(例如:2)和广播(0)地址?
此致、
Norbert
您好、Norbert、
请使用 UART9BitAddrSet()通过 掩码设置与从属设备或一组地址相关联的地址。 如果您希望从机接收地址为2、广播地址为0、我认为您需要使用0xFD 传递 ui8Mask、使用0x2传递 ui8Addr。
30.2.2.2 UART9BitAddrSet
为9位模式设置器件地址。
原型:
无效
UART9BitAddrSet (uint32_t ui32Base、
uint8_t ui8Addr、
uint8_t ui8掩码)
参数:
ui32Base 是 UART 端口的基地址。
ui8Addr 是器件地址。
ui8Mask 是器件地址掩码。
描述:
此函数用于配置器件地址或响应的器件地址范围
UART 端口上的数据请求。 接收到的地址被掩码屏蔽、然后
与给定地址进行比较、允许单个地址(如果 ui8Mask 为0xff)或
要匹配的地址集。
注:
9位模式的可用性随正在使用的 Tiva 部件而异。 请参阅的数据表
您用来确定此支持是否可用的部件。
您好、Charles、
感谢您的重播! 我知道9位地址 API、并且已经阅读了相关文档。 我尝试列出使我感到困惑的内容:
如果我对您的解释非常了解、无论 UART 中设置的地址字段是什么、每次都会接收广播地址(0x0)。
此致、
Norbert