1L的报文对应哪一行呢,还是和代码对不上,怎么感觉是上位机发送方报文出了问题
就是105行的哪里,我删了一个字节03,当时写重复了。我同事和我说,我修改了。给你的是改过的代码 ercircle 发表于 2025-8-12 18:58
1L的报文对应哪一行呢,还是和代码对不上,怎么感觉是上位机发送方报文出了问题
昨天的串口日志你可以看看。概率极低,就是 2025-08-12 14:12:46.039 那个记录你看一下。前后都是正常的。
cdg 发表于 2025-8-13 09:23
昨天的串口日志你可以看看。概率极低,就是 2025-08-12 14:12:46.039 那个记录你看一下。前后都是正常的 ...
下位机代码看着没大问题,UART1_SW(UART1_SW_P36_P37);前判断while (busy);,以防RX_flag更新太快这边还没发完就切换引脚
可以给SendUart1末尾添加个while (busy);
上位机收数据逻辑不对,基本的包头检测都没做,错位了都。
这个两包单独的乱码没找到什么规律,检查下硬件连接和外部干扰,拍照看看实物?
ercircle 发表于 2025-8-13 09:51
下位机代码看着没大问题,UART1_SW(UART1_SW_P36_P37);前判断while (busy);,以防RX_flag更新太快这边还没 ...
之前是有错位的问题,我昨天和他说了,调整了。
按道理说我发送模块查询的CC DD 那个指令,等待回复还有50ms,没道理串口没发完。
再退一步说,即使没发完,切换了。也不应该收到那个数据吧(没有一个字节对的上的)?而且这种情况出现二次,收到数据完全一样。(也就是说收到的并不是随机数据),挺奇怪的。 cdg 发表于 2025-8-13 10:17
之前是有错位的问题,我昨天和他说了,调整了。
按道理说我发送模块查询的CC DD 那个指令,等待回复还有5 ...
等回复有超时,但是遇到RxFlag会立即退出,要考虑粘包和对端串口缓存
可以模拟下,两三包拼接连着发是个什么现象 ercircle 发表于 2025-8-13 09:51
下位机代码看着没大问题,UART1_SW(UART1_SW_P36_P37);前判断while (busy);,以防RX_flag更新太快这边还没 ...
我也是没看出来问题,要不按照你说的先调整看看。确保数据发完先。
页:
1
[2]