设备:PIC32MM0256GPM028 MPLAB v6.20 包 PIC32MM-GPM-0XX_DFP(1.3.50) ICD 4 (2018年9月23日) 编译工具链 XC32 (v4.45) [/opt/microchip/xc32/v4.45/bin]
我正在以32 MHz的SYSCLK运行UART2,稍微超频了一些,正在读取DMX数据包(250,000波特率)。初始化如下。我遇到的问题是,当我收到超过495字节或更多的0x00数据时,大部分情况下工作正常。时钟抖动似乎是最可能的问题来源,但我没有解决方案。UART的错误似乎更多是TX而不是RX,我有一个解决TX问题的方案,但我无法解决RX上的丢包问题。如果所有槽位都有数据,即使是0x01的数据,我从不会错过一个字节,但全是0x00的完整数据包确实是个问题。
理想情况下,我会相信两个停止位来告诉我发送了多少字节,但当我知道我缺少字节时,我不能这样做。 |