[其他ST产品] STM32串口频繁收发至其卡死的解决方案

[复制链接]
2905|53
macpherson 发表于 2023-8-4 18:16 | 显示全部楼层
确保串口中断服务函数尽可能迅速地处理接收和发送数据。
kmzuaz 发表于 2023-8-4 18:39 | 显示全部楼层
可能是串口IO的没有使能,导致不能通了。
loutin 发表于 2023-8-4 18:48 | 显示全部楼层
在主程序中,避免使用阻塞式的串口读写函数。
yeates333 发表于 2023-8-4 20:11 | 显示全部楼层
尝试降低波特率,看看是否能够解决问题。
1988020566 发表于 2023-8-4 20:48 | 显示全部楼层
如果频繁发送或接收数据,可以使用非阻塞或中断驱动的方式进行操作,以充分利用STM32的处理能力。
wengh2016 发表于 2023-8-4 21:33 | 显示全部楼层
尽量减少中断处理函数的执行时间。
hilahope 发表于 2023-8-4 22:03 | 显示全部楼层
在你的中断中没有清除标志位。              
youtome 发表于 2023-8-5 12:03 | 显示全部楼层
增加串口接收和发送的缓冲区大小,以确保足够的空间来缓存数据。
bestwell 发表于 2023-8-5 13:07 | 显示全部楼层
如果你的串口波特率设置过高,可能会导致数据传输不稳定。
wilhelmina2 发表于 2023-8-5 13:33 | 显示全部楼层
如果STM32串口频繁收发导致程序卡死,可以采取使用中断、使用DMA、使用串口超时控制和优化串口代码等方案
jkl21 发表于 2023-8-5 13:46 | 显示全部楼层
参考STM32的官方文档、用户手册和技术支持资源
mattlincoln 发表于 2023-8-7 17:20 | 显示全部楼层
在串口接收时使用中断来处理数据,确保中断处理函数的代码逻辑简洁高效
jimmhu 发表于 2023-8-7 19:39 | 显示全部楼层
使用中断可以实现串口数据的实时接收和发送,避免程序卡死
digit0 发表于 2023-8-8 11:22 | 显示全部楼层
可以考虑使用dma对串行数据进行处理。
鹿鼎计 发表于 2023-8-8 11:54 | 显示全部楼层
较小的缓冲区大概没法处置高速传输,致使数据丢失或者梗塞。
天天向善 发表于 2023-8-8 12:42 | 显示全部楼层
利用uart超时节制可以防止步伐卡死。
AIsignel 发表于 2023-8-9 09:27 | 显示全部楼层
用示波器检查rx引脚是否有信号。
Pretext 发表于 2023-8-9 09:58 | 显示全部楼层
看看初始化流程图,是否相同
eefas 发表于 2023-8-14 09:58 | 显示全部楼层
检查硬件连接和电路设计,确保串口通信稳定可靠。
kmzuaz 发表于 2023-8-14 13:42 | 显示全部楼层
不用中断的话,那么只能不断靠查询来接收了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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