打印

GD32F 遇到串口发送数据偶发性卡死问题

[复制链接]
楼主: stormwind123
手机看帖
扫描二维码
随时随地手机跟帖
41
dspmana| | 2024-11-13 11:03 | 只看该作者 回帖奖励 |倒序浏览
硬件故障               

使用特权

评论回复
42
lihuami| | 2024-11-13 14:52 | 只看该作者
分批发送数据,确保每次发送的数据量不超过缓冲区的容量。

使用特权

评论回复
43
yorkbarney| | 2024-11-13 17:19 | 只看该作者
确保串口中断优先级设置合理,不要设置得太高或太低。如果其他高优先级中断频繁打断串口发送,可能导致卡死。

使用特权

评论回复
44
averyleigh| | 2024-11-13 18:15 | 只看该作者
在串口通信中,应该实现超时处理机制,以防因等待响应而导致的卡死

使用特权

评论回复
45
vivilyly| | 2024-11-13 19:20 | 只看该作者
在发送数据前,检查发送缓冲区的状态(如是否已满),避免在缓冲区满时继续发送数据。

使用特权

评论回复
46
10299823| | 2024-11-13 20:09 | 只看该作者
在使用串口空闲中断接收数据时,需要注意空闲中断标志的清除方式。不同系列的MCU可能有不同的清除方法,需要参考具体芯片手册进行设置。

使用特权

评论回复
47
qiufengsd| | 2024-11-13 20:59 | 只看该作者
UART硬件可能存在故障,或者相关软件库中的函数可能存在bug,导致TC标志未能正确更新

使用特权

评论回复
48
uptown| | 2024-11-13 22:11 | 只看该作者
检查接收方是否有硬件流控机制,通知发送方不能发送数据。如果有,需要确保发送方能够正确处理这些流控信号。

使用特权

评论回复
49
bestwell| | 2024-11-14 15:57 | 只看该作者
优化中断服务函数的代码,尽量减少在中断中执行复杂的操作和函数调用,避免不必要的中断嵌套。同时,可以适当增加栈空间的大小,以防止栈溢出。

使用特权

评论回复
50
物联万物互联| | 2024-11-14 17:00 | 只看该作者
串行发送功能在串行端口初始化配置功能后调用。在调用发送函数之前,请确保串行端口配置正确且可用。

使用特权

评论回复
51
minzisc| | 2024-11-14 17:32 | 只看该作者
如果使用DMA发送数据,确保DMA配置正确,并且在发送数据前,DMA控制器已经准备好。

使用特权

评论回复
52
uptown| | 2024-11-14 18:55 | 只看该作者
检查发送数据的代码逻辑,确保没有死循环或长时间阻塞的操作。
避免在ISR中执行复杂的操作,尽量保持ISR的简洁和快速。

使用特权

评论回复
53
lllook| | 2024-11-14 19:45 | 只看该作者
如果使用了中断嵌套,确保嵌套配置正确,以避免中断服务程序(ISR)被错误阻塞。

使用特权

评论回复
54
elsaflower| | 2024-11-14 19:48 | 只看该作者
检查是否有长时间运行的任务阻塞了主循环或其他关键任务。

使用特权

评论回复
55
gyc198215| | 2024-11-14 20:56 | 只看该作者
芯片本身问题,加个超时处理吧

使用特权

评论回复
56
sheflynn| | 2024-11-14 21:00 | 只看该作者
如果发送的数据量过大,可能导致缓冲区溢出,从而引发卡死。可以尝试增加缓冲区大小或优化数据传输逻辑。

使用特权

评论回复
57
updownq| | 2024-11-14 22:03 | 只看该作者
确认串口波特率设置正确,不适当的波特率可能导致通信问题。
尝试降低波特率,看问题是否仍然存在。

使用特权

评论回复
58
dreamCar| | 2024-11-15 22:52 | 只看该作者
停滞通常是软件程序问题,可能由无限循环、无限递归或其他逻辑错误引起

使用特权

评论回复
59
明日视界| | 2024-11-16 21:27 | 只看该作者
外部电磁干扰可能会影响uart通信,导致数据丢失或不正确的状态标志,从而导致阻塞。

使用特权

评论回复
60
芯路例程| | 2024-11-17 07:03 | 只看该作者
如果系统中有多个中断,并且中断优先级设置不正确,那么串行中断可能无法及时响应,导致卡死。

使用特权

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

本版积分规则