找回密码
 立即注册
查看: 215|回复: 23

请教STC15F2K32和串口屏通讯失败的问题

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:228
  • 最近打卡:2025-12-18 07:35:03
已绑定手机

32

主题

137

回帖

1424

积分

金牌会员

积分
1424
发表于 2025-12-9 09:18:05 | 显示全部楼层 |阅读模式
如题,上电是正常的,大概几小时后,偶尔会发现通讯失败,屏端有重发机制,屏发给单片机的是正常的,但是单片机收到后要回复一个数据,屏端收不到就一直重发。

实测发生情况就是单片机的发送不正常了。
11.jpg 这个是单片机接收到的信号,波特率9600
12.jpg 这个是单片机发送的内容,很明显是不对的。

这是啥情况?
出现概率不大,5%以下吧,时间也不一定,有时候通电运行好几天也没有。有时候不到1小时就出现。出现时屏幕操作对输出是有效的。但是屏收不到任何信息了。只能断电重启才能恢复正常,怎样避免这种情况发生?单片机端有啥办法可以实施?
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:24
  • 最近打卡:2025-12-18 11:09:37
已绑定手机

1

主题

58

回帖

205

积分

中级会员

积分
205
发表于 2025-12-9 10:02:14 | 显示全部楼层
大概率是你的代码写得有问题
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:191
  • 最近打卡:2025-12-18 08:26:01
已绑定手机

19

主题

542

回帖

1921

积分

金牌会员

积分
1921
发表于 2025-12-9 10:13:15 | 显示全部楼层
这明显是你程序问题,建议接收用队列缓冲区,主循环取出数据处理
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:228
  • 最近打卡:2025-12-18 07:35:03
已绑定手机

32

主题

137

回帖

1424

积分

金牌会员

积分
1424
发表于 2025-12-9 10:22:08 | 显示全部楼层
Ayb_*** 发表于 2025-12-9 10:13
这明显是你程序问题,建议接收用队列缓冲区,主循环取出数据处理

是用中断方式的,每次TI后发送下个字节。直到缓冲区内容发送完毕。如果程序问题,为何有的好使有的不好使,大部分都没问题啊。有问题的也不是一直有,不定时出现,同一个板子,大概率只会出一次,断电重启后就连续几天都不会出了。
看起来只是发送了一个起始位,连续的起始位,没有数据。这个板子用的P16和17.
另外一个没有转移,是30和31的,一样的也会这样,都是偶尔出现。
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:228
  • 最近打卡:2025-12-18 07:35:03
已绑定手机

32

主题

137

回帖

1424

积分

金牌会员

积分
1424
发表于 2025-12-9 10:24:32 | 显示全部楼层
Ayb_*** 发表于 2025-12-9 10:13
这明显是你程序问题,建议接收用队列缓冲区,主循环取出数据处理

就算程序问题,起码也要发送一个完整的字节吧。
难道发送没完成1毫秒时又写了SBUF就会重启发送起始位?而不是等待完成再发?
我发送第一个字节是直接写SBUF的,剩余的都是在TI发生以后才发送的啊
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:228
  • 最近打卡:2025-12-18 07:35:03
已绑定手机

32

主题

137

回帖

1424

积分

金牌会员

积分
1424
发表于 2025-12-9 10:25:21 | 显示全部楼层
Ayb_*** 发表于 2025-12-9 10:13
这明显是你程序问题,建议接收用队列缓冲区,主循环取出数据处理

即便是第一个字节,也是在RI中发送的。
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:191
  • 最近打卡:2025-12-18 08:26:01
已绑定手机

19

主题

542

回帖

1921

积分

金牌会员

积分
1921
发表于 2025-12-9 10:29:16 | 显示全部楼层
xiaob*** 发表于 2025-12-9 10:24
就算程序问题,起码也要发送一个完整的字节吧。
难道发送没完成1毫秒时又写了SBUF就会重启发送起始位?而 ...

每次发送都要等待前一发送完成,建议第一字节发帝直接延时一段时间再发
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:584
  • 最近打卡:2025-12-17 09:47:29

33

主题

2775

回帖

6154

积分

论坛元老

积分
6154
发表于 2025-12-9 10:35:47 | 显示全部楼层
xiaob*** 发表于 2025-12-9 10:24
就算程序问题,起码也要发送一个完整的字节吧。
难道发送没完成1毫秒时又写了SBUF就会重启发送起始位?而 ...

我觉得你应该把你的代码甩到他们脸上,,让他们看看

点评

对对对  发表于 2025-12-9 10:59
参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:587
  • 最近打卡:2025-12-18 12:29:34

9

主题

563

回帖

3809

积分

论坛元老

积分
3809
发表于 2025-12-9 10:44:17 | 显示全部楼层
串口屏重发周期是多少?会不会偶发的单片机发送处理错误,串口屏拼命重发导致单片机来不及处理,一直重发一直出错锁死了
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:228
  • 最近打卡:2025-12-18 07:35:03
已绑定手机

32

主题

137

回帖

1424

积分

金牌会员

积分
1424
发表于 2025-12-9 11:35:26 | 显示全部楼层
网*** 发表于 2025-12-9 10:44
串口屏重发周期是多少?会不会偶发的单片机发送处理错误,串口屏拼命重发导致单片机来不及处理,一直重发一直 ...

看波形,锁死就会出现这种波形?关键是屏上的操作单片机这边还是有正常的动作的,重发间隔和正常工作时是一样的。而且出问题时,屏幕没有任何操作。只是不断的请求一些数据用来显示的。
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-12-18 16:21 , Processed in 0.115135 second(s), 95 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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