串口通信速度过快导致单片机重启??

2020-02-05 09:10发布

SOS!!!!!用RS485串口通信,PC接上51。设置串口助手的自动发送周期为10ms,PC发送一串数据单片机返回一串应答码??

单片机运行不到0.5s便重启?????

程序开始运行时设置了开始声响,LED灯由暗变亮~~~~死机后,程序竟跳到main开始!!??

是不是单片机在发送,而串口助手也在发送,导致数据出错,而影响到单片机???

换了其他的51型号也是如此。计算过之后,单片机发送回来的数据有23个字节,波特率是19200,单片机发回来大概需要9.5ms,串口发送19个字节,需要8.0毫秒,加起来大概需要18ms。而串口利用自动发送,发送周期需要大于等于18ms,单片机才不会死机,重启。否则,小于18ms的就会死机,重启。

这是溢出问题吗???或者是其他原因???
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
avr-qq
1楼-- · 2020-02-06 12:46
排出不正确的就行了。
Cojumos
2楼-- · 2020-02-06 13:31
mored 发表于 2012-6-4 09:53
哦,我的意思只是说多查查如果输入数据不对的话,程序会有什么反应
很明显的问题是Receive_Data中的else是 ...

如果输入数据不对的话,程序是没有反应的。因为这是个通信系统,有一定的协议的。所以要按照协议的进行。
Cojumos
3楼-- · 2020-02-06 16:44
又发现问题了?把波特率提高到115200,单片机发送一串数据20个字节,所需要的时间是0.0017s,但是自动发送周期为1ms都可以发送无误,而且也没有错误。

也就是说和自动发送周期没大小没有多大关系??

一周热门 更多>