各位专家、您好!
我的客户无法以230,400bps 的速率与 UART 正常通信。
详细信息如下。
当它们将数据"00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F"从 PC 发送到 TM4C 的 UART 时、TM4C 侧最多只能读取07的数据。
此时、Rx FIFO 显示为空(UARTFR 寄存器中的 RXFE 位= 1)。
此外、即使读取 UARTDR 寄存器、也不能读取任何正常数据。
然后、它们从 PC 发送"10 11 12 13"数据、TM4C 读取"08 09 0A 0B"。 (发送的数据和接收的数据似乎被8字节移位)
数据移位不是恒定的、但很可能会按 UART 中断 FIFO 深度选择寄存器(UARTIFLS)的 RXIFLSEL 中设置的字节数进行移位。
此外、还发现了以下内容。
- 如果波特率降低或传输间隔增加、则此问题不太可能发生。
- 他们已使用示波器确认传输的波形没有问题。
- 不会产生溢出错误等错误标志。
- 诸如 be、PE、FE、UARTRIS 和 UARTMIS 位等错误位保持为0。 没有错误。
您是否知道为什么即使通信不能正常工作也未设置错误位?
您是否知道导致此问题的原因?
此致、
Sasaki