打印
[STM8]

串口通信出现【神奇】的问题

[复制链接]
1273|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Rouen|  楼主 | 2013-8-23 14:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
写了一段串口收发程序,能够正常通信,波特率115200,正常情况下,无错误发生;但是在进行测试的时候,我用串口助手,发送一段能够识别的字符串,然后单片机应该是要返回一段字符串的;在用串口助手自动发送功能的时候,500ms还能正常工作,到500ms以下的时候,单片机就卡死了,不知道为什么呢?如何才能避免卡死?求解决
沙发
Rouen|  楼主 | 2013-8-23 15:00 | 只看该作者

使用特权

评论回复
板凳
MakeBetter| | 2013-8-23 15:12 | 只看该作者
神奇什么?自己程序有问题就是神奇?什么问题都没描述清楚,是没人理你的!
回头把堆栈设大点再试试,看卡不卡,定时发的快了,中断多了,可能和其它处理过程中断导致堆栈溢出。

使用特权

评论回复
地板
Rouen|  楼主 | 2013-8-23 15:24 | 只看该作者
怎么把堆栈设大点?

使用特权

评论回复
5
雨田电子| | 2013-8-23 15:49 | 只看该作者
楼主连发送接收的多少字节都不愿说,每500ms发1个字节和500个字节能一样吗?把问题描述清楚再说吧

使用特权

评论回复
6
feilusia| | 2013-8-23 17:09 | 只看该作者
你发送那么快,STM8来得及返回数据吗?一直都在被你的上位机发送的数据中断。
防止卡死:1、进入中断函数先关闭中断,退出才开。2、用到while要加个时间判断,超过一个数值没响应,就自动跳过这个while。

使用特权

评论回复
评分
参与人数 2威望 +2 收起 理由
Rouen + 1 赞一个!
thebearontree + 1 赞一个!
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

8

帖子

0

粉丝