你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F051串口(232)死机

[复制链接]
zhy233090130 提问时间:2019-9-5 22:01 /
STM32F051串口1波特率配置成9600bits/s,将USB转232串口工具波特率设置成9600bits/s发命令时,MCU正常返回数值;将USB转232串口工具波特率设置成其他值如38400bits/s发命令时,MCU串口会死机,必须复位重启后串口才正常,不知道是何问题,请大神们指点?
收藏 评论6 发布时间:2019-9-5 22:01

举报

6个回答
yklstudent-1794 回答时间:2019-9-6 09:08:06
仿真看看死哪里就知道什么问题了
wenyangzeng 回答时间:2019-9-6 06:55:40
串口工具的波特率改成38400,STM32F051的波特率也要改成相同波特率。改完后当然要重启初始化串口才能生效。
zhy233090130 回答时间:2019-9-6 08:20:28
wenyangzeng 发表于 2019-9-6 06:55
串口工具的波特率改成38400,STM32F051的波特率也要改成相同波特率。改完后当然要重启初始化串口才能生效。 ...

STM32F051串口的波特率必须是9600,我想表达的意思是如果串口工具的波特率不是9600,这时串口工具给STM32F051发命令时会造成MCU的串口死掉,必须复位或重新初始化串口才能恢复,一般来讲任何波特率发过来的数据MCU接收会是乱码但不会造成MCU串口死机,我这边遇到的情况就会造成MCU串口死机
哀歌与世无争 回答时间:2019-9-6 08:41:37
zhy233090130 发表于 2019-9-6 08:20
STM32F051串口的波特率必须是9600,我想表达的意思是如果串口工具的波特率不是9600,这时串口工具给STM32 ...

正常是不会死机的,可能接收处理的代码有问题
mylovemcu 回答时间:2019-9-6 10:24:14
提高波特率一般不会出现问题,现在出现死机情况可能是你程序的问题
检查一下中断函数,是不是中断函数中处理了太多事情,因为38400比9600快了不少,如果在中断里做了很多事情,会导致当前事件还没处理完,下一次中断又来了,这种情况就会导致程序死机
wudianjun2001 回答时间:2019-9-6 15:02:17
程序处理的不好,建议一帧数据有完整的结构,包头包尾校验什么的,接收到包头才接收下面的数据,超时什么的都要处理好

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版