找回密码
 立即注册
楼主: cdg

15W204S切换串口偶发数据异常

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-08-15 09:54:35
已绑定手机

2

主题

12

回帖

46

积分

新手上路

积分
46
发表于 2025-8-13 09:15:40 | 显示全部楼层
erci*** 发表于 2025-8-12 18:58
1L的报文对应哪一行呢,还是和代码对不上,怎么感觉是上位机发送方报文出了问题

就是105行的哪里,我删了一个字节03,当时写重复了。我同事和我说,我修改了。给你的是改过的代码
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-08-15 09:54:35
已绑定手机

2

主题

12

回帖

46

积分

新手上路

积分
46
发表于 2025-8-13 09:23:33 | 显示全部楼层
erci*** 发表于 2025-8-12 18:58
1L的报文对应哪一行呢,还是和代码对不上,怎么感觉是上位机发送方报文出了问题

昨天的串口日志你可以看看。概率极低,就是 2025-08-12 14:12:46.039 那个记录你看一下。前后都是正常的。

door20250812.rar

72.97 KB, 下载次数: 7

点评

下位机代码看着没大问题,UART1_SW(UART1_SW_P36_P37);前判断while (busy);,以防RX_flag更新太快这边还没发完就切换引脚 上位机收数据逻辑不对,基本的包头检测都没做,错位了都。 这个两包单独的乱码没找到  详情 回复 发表于 2025-8-13 09:51
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:276
  • 最近打卡:2025-08-23 14:05:57
已绑定手机

80

主题

2983

回帖

6363

积分

荣誉版主

无情的代码机器

积分
6363
发表于 2025-8-13 09:51:39 | 显示全部楼层
cd*** 发表于 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);

上位机收数据逻辑不对,基本的包头检测都没做,错位了都。




这个两包单独的乱码没找到什么规律,检查下硬件连接和外部干扰,拍照看看实物?


截图202508130939151734.jpg



三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-08-15 09:54:35
已绑定手机

2

主题

12

回帖

46

积分

新手上路

积分
46
发表于 2025-8-13 10:17:33 | 显示全部楼层
erci*** 发表于 2025-8-13 09:51
下位机代码看着没大问题,UART1_SW(UART1_SW_P36_P37);前判断while (busy);,以防RX_flag更新太快这边还没 ...

之前是有错位的问题,我昨天和他说了,调整了。
按道理说我发送模块查询的CC DD 那个指令,等待回复还有50ms,没道理串口没发完。
再退一步说,即使没发完,切换了。也不应该收到那个数据吧(没有一个字节对的上的)?而且这种情况出现二次,收到数据完全一样。(也就是说收到的并不是随机数据),挺奇怪的。

点评

等回复有超时,但是遇到RxFlag会立即退出,要考虑粘包和对端串口缓存  详情 回复 发表于 2025-8-13 10:23
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:276
  • 最近打卡:2025-08-23 14:05:57
已绑定手机

80

主题

2983

回帖

6363

积分

荣誉版主

无情的代码机器

积分
6363
发表于 2025-8-13 10:23:29 | 显示全部楼层
cd*** 发表于 2025-8-13 10:17
之前是有错位的问题,我昨天和他说了,调整了。
按道理说我发送模块查询的CC DD 那个指令,等待回复还有5 ...

等回复有超时,但是遇到RxFlag会立即退出,要考虑粘包和对端串口缓存

可以模拟下,两三包拼接连着发是个什么现象
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-08-15 09:54:35
已绑定手机

2

主题

12

回帖

46

积分

新手上路

积分
46
发表于 2025-8-13 10:24:17 | 显示全部楼层
erci*** 发表于 2025-8-13 09:51
下位机代码看着没大问题,UART1_SW(UART1_SW_P36_P37);前判断while (busy);,以防RX_flag更新太快这边还没 ...

我也是没看出来问题,要不按照你说的先调整看看。确保数据发完先。
回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-8-24 03:35 , Processed in 0.113511 second(s), 79 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表