打印
[其他ST产品]

STM32串口频繁收发至其卡死的解决方案

[复制链接]
楼主: 斧王FUWANG
手机看帖
扫描二维码
随时随地手机跟帖
21
macpherson| | 2023-8-4 18:16 | 只看该作者 回帖奖励 |倒序浏览
确保串口中断服务函数尽可能迅速地处理接收和发送数据。

使用特权

评论回复
22
kmzuaz| | 2023-8-4 18:39 | 只看该作者
可能是串口IO的没有使能,导致不能通了。

使用特权

评论回复
23
loutin| | 2023-8-4 18:48 | 只看该作者
在主程序中,避免使用阻塞式的串口读写函数。

使用特权

评论回复
24
yeates333| | 2023-8-4 20:11 | 只看该作者
尝试降低波特率,看看是否能够解决问题。

使用特权

评论回复
25
1988020566| | 2023-8-4 20:48 | 只看该作者
如果频繁发送或接收数据,可以使用非阻塞或中断驱动的方式进行操作,以充分利用STM32的处理能力。

使用特权

评论回复
26
wengh2016| | 2023-8-4 21:33 | 只看该作者
尽量减少中断处理函数的执行时间。

使用特权

评论回复
27
hilahope| | 2023-8-4 22:03 | 只看该作者
在你的中断中没有清除标志位。              

使用特权

评论回复
28
youtome| | 2023-8-5 12:03 | 只看该作者
增加串口接收和发送的缓冲区大小,以确保足够的空间来缓存数据。

使用特权

评论回复
29
bestwell| | 2023-8-5 13:07 | 只看该作者
如果你的串口波特率设置过高,可能会导致数据传输不稳定。

使用特权

评论回复
30
wilhelmina2| | 2023-8-5 13:33 | 只看该作者
如果STM32串口频繁收发导致程序卡死,可以采取使用中断、使用DMA、使用串口超时控制和优化串口代码等方案

使用特权

评论回复
31
jkl21| | 2023-8-5 13:46 | 只看该作者
参考STM32的官方文档、用户手册和技术支持资源

使用特权

评论回复
32
mattlincoln| | 2023-8-7 17:20 | 只看该作者
在串口接收时使用中断来处理数据,确保中断处理函数的代码逻辑简洁高效

使用特权

评论回复
33
jimmhu| | 2023-8-7 19:39 | 只看该作者
使用中断可以实现串口数据的实时接收和发送,避免程序卡死

使用特权

评论回复
34
digit0| | 2023-8-8 11:22 | 只看该作者
可以考虑使用dma对串行数据进行处理。

使用特权

评论回复
35
鹿鼎计| | 2023-8-8 11:54 | 只看该作者
较小的缓冲区大概没法处置高速传输,致使数据丢失或者梗塞。

使用特权

评论回复
36
天天向善| | 2023-8-8 12:42 | 只看该作者
利用uart超时节制可以防止步伐卡死。

使用特权

评论回复
37
AIsignel| | 2023-8-9 09:27 | 只看该作者
用示波器检查rx引脚是否有信号。

使用特权

评论回复
38
Pretext| | 2023-8-9 09:58 | 只看该作者
看看初始化流程图,是否相同

使用特权

评论回复
39
eefas| | 2023-8-14 09:58 | 只看该作者
检查硬件连接和电路设计,确保串口通信稳定可靠。

使用特权

评论回复
40
kmzuaz| | 2023-8-14 13:42 | 只看该作者
不用中断的话,那么只能不断靠查询来接收了

使用特权

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

本版积分规则