打印
[STM32F1]

STM32F103ZE串口通信问题:接收端死机原因分析

[复制链接]
930|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
9dome猫|  楼主 | 2024-4-18 19:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
STM32F103ZE上进行串口通信调试,发现发送数据时接收端容易导致系统死机。我想知道是什么原因导致了这种异常情况,以及如何避免类似情况的发生。

使用特权

评论回复
沙发
呐咯密密| | 2024-4-19 14:45 | 只看该作者
接收端的代码处理有问题

使用特权

评论回复
板凳
故意相遇| | 2024-5-19 23:11 | 只看该作者
如果发送数据的速度超过了接收端处理数据的速度,接收端的接收缓冲区可能会溢出,导致系统死机

使用特权

评论回复
地板
白马过平川| | 2024-5-20 02:00 | 只看该作者
在STM32中,串口通信通常使用中断来处理接收和发送数据。如果中断优先级设置不当,可能会导致优先级反转或死锁等问题,从而导致系统死机

使用特权

评论回复
5
风凉| | 2024-5-20 04:00 | 只看该作者
如果系统的电源供应不稳定或电源噪声较大,可能会导致串口通信异常,甚至导致系统死机。

使用特权

评论回复
6
捧一束彼岸花| | 2024-5-20 08:00 | 只看该作者
可以检查中断优先级设置是否正确,并确保接收和发送中断的优先级适当。

使用特权

评论回复
7
未说出口的像你| | 2024-5-20 12:00 | 只看该作者
仿真看看?看程序咋执行的吧

使用特权

评论回复
8
我吃小朋友| | 2024-5-20 16:00 | 只看该作者
建议检查电源供应是否稳定,并采取适当的电源滤波和隔离措施,以确保电源质量

使用特权

评论回复
9
一只眠羊| | 2024-5-20 18:00 | 只看该作者
你要避免的话,建议优化代码,确保串口通信的代码逻辑正确,避免死循环、死锁等问题。同时,合理使用缓冲区,避免缓冲区溢出。

使用特权

评论回复
10
在曼谷的春| | 2024-5-20 22:00 | 只看该作者
其实根据系统需求和硬件资源,合理设置串口接收和发送中断的优先级,避免优先级冲突和死锁。

使用特权

评论回复
11
月亮一键变蓝| | 2024-5-21 01:00 | 只看该作者
如果可能,可以考虑使用硬件流控制(如RTS/CTS)或软件流控制来控制发送速率,以避免缓冲区溢出。

使用特权

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

本版积分规则

133

主题

1407

帖子

2

粉丝