打印
[应用相关]

STM32F051串口(232)死机

[复制链接]
706|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
两只袜子|  楼主 | 2021-2-8 10:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

STM32F051串口1波特率配置成9600bits/s,将USB转232串口工具波特率设置成9600bits/s发命令时,MCU正常返回数值;将USB转232串口工具波特率设置成其他值如38400bits/s发命令时,MCU串口会死机,必须复位重启后串口才正常,不知道是何问题,请大神们指点?

使用特权

评论回复
沙发
豌豆爹| | 2021-2-8 11:21 | 只看该作者
仿真看看死哪里就知道什么问题了

使用特权

评论回复
板凳
海滨消消| | 2021-2-8 11:22 | 只看该作者

串口工具的波特率改成38400,STM32F051的波特率也要改成相同波特率。改完后当然要重启初始化串口才能生效。

使用特权

评论回复
地板
麻花油条| | 2021-2-8 11:22 | 只看该作者
提高波特率一般不会出现问题,现在出现死机情况可能是你程序的问题
检查一下中断函数,是不是中断函数中处理了太多事情,因为38400比9600快了不少,如果在中断里做了很多事情,会导致当前事件还没处理完,下一次中断又来了,这种情况就会导致程序死机

使用特权

评论回复
5
一刀一级| | 2021-2-8 11:23 | 只看该作者

程序处理的不好,建议一帧数据有完整的结构,包头包尾校验什么的,接收到包头才接收下面的数据,超时什么的都要处理好

使用特权

评论回复
6
paotangsan| | 2021-3-2 21:22 | 只看该作者
这个速度应该不至于的

使用特权

评论回复
7
renzheshengui| | 2021-3-2 21:22 | 只看该作者
首先确定是死在什么地方啦

使用特权

评论回复
8
wakayi| | 2021-3-2 21:23 | 只看该作者
改变波特率之后是不是跟哪里矛盾了啊

使用特权

评论回复
9
wowu| | 2021-3-2 21:24 | 只看该作者
估计是接收数据那有问题

使用特权

评论回复
10
xiaoqizi| | 2021-3-2 21:25 | 只看该作者
是在运行的过程中修改的波特率吗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2038

主题

7363

帖子

10

粉丝