[应用相关] STM32F051串口(232)死机

[复制链接]
1143|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快了不少,如果在中断里做了很多事情,会导致当前事件还没处理完,下一次中断又来了,这种情况就会导致程序死机
一刀一级 发表于 2021-2-8 11:23 | 显示全部楼层

程序处理的不好,建议一帧数据有完整的结构,包头包尾校验什么的,接收到包头才接收下面的数据,超时什么的都要处理好
paotangsan 发表于 2021-3-2 21:22 | 显示全部楼层
这个速度应该不至于的
renzheshengui 发表于 2021-3-2 21:22 | 显示全部楼层
首先确定是死在什么地方啦
wakayi 发表于 2021-3-2 21:23 | 显示全部楼层
改变波特率之后是不是跟哪里矛盾了啊
wowu 发表于 2021-3-2 21:24 | 显示全部楼层
估计是接收数据那有问题
xiaoqizi 发表于 2021-3-2 21:25 | 显示全部楼层
是在运行的过程中修改的波特率吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2122

主题

8121

帖子

11

粉丝
快速回复 在线客服 返回列表 返回顶部