请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TM4C1294NCPDT 大家好、
我在线程接头中提到的某些 CPU 之间开发 RS485通信。 由于地址检测和后续数据流的硬件支持、我想使用9位 UART 模式。
我的问题是、我看到了一个设置地址掩码的选项、允许用户设置设备监听的多个地址、但如何获取捕获的地址? 如何发现发件人在我的地址中寻址的地址?
对此,
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.
大家好、
我在线程接头中提到的某些 CPU 之间开发 RS485通信。 由于地址检测和后续数据流的硬件支持、我想使用9位 UART 模式。
我的问题是、我看到了一个设置地址掩码的选项、允许用户设置设备监听的多个地址、但如何获取捕获的地址? 如何发现发件人在我的地址中寻址的地址?
对此,
Norbert
您好、Charles、
在我被读出的某个地方,呼叫者无法读取地址字节,我在开发过程中也遇到过这种情况。 所以、这是这个问题的初始想法。
我的应用使用适当的 TivaWare 库函数发送地址字节、而不是发送后续数据:
uint32_t intState = MAP_UARTIntStatus (MODBUS_UART、TRUE); MAP_UARTIntClear (MODBUS_UART、intState); if (intState & UART_INT_9BIT){ _receivedPDU.Reset (); }while (MAP_UARTUS_UART、intState);if (UARTUS_SIZE = UART_UART_UART1_STREAM)={_SIZE (UART_UART_UART1_SIZE = UART_UART_UART_UART_UART1_ST_SIZE )}(= UART1_SIZE = UART_UART_UART_UART1_SIZE = UART_UART_UART_UART_UART 1:0; } } if (((intState & UART_INT_RT)&&(_receivedPDV.function ()!= PDU::未知)){ xSemaphoreGiveFromISR (_receiveSemore、NULL); }
上面是我的 UART 中断例程:您可以看到、当我获得9BIT 中断时、会有一些初始化工作、而不是我尝试获取数据。 每次在读取周期中放入断点时,我都看不到设备地址。
此致、
Norbert