打印
[STM32F1]

Cubemx hal 库 HAL_UART_Receive_IT 的死锁问题

[复制链接]
楼主: qqjmjso
手机看帖
扫描二维码
随时随地手机跟帖
61
zhanghqi| | 2023-5-16 19:49 | 只看该作者 回帖奖励 |倒序浏览
这个需要清楚中断吧              

使用特权

评论回复
62
zhanglli| | 2023-5-16 19:58 | 只看该作者
估计是高频数据速度太快了吧。

使用特权

评论回复
63
zhenykun| | 2023-5-16 20:00 | 只看该作者
有没可能是REC缓存溢出了。

使用特权

评论回复
64
huwr| | 2023-5-16 20:01 | 只看该作者

接收的数据频率和速度是多少?

使用特权

评论回复
65
zhuhuis| | 2023-5-16 20:04 | 只看该作者
是不是要清除中断啊?

使用特权

评论回复
66
xxmmi| | 2023-5-16 20:06 | 只看该作者
你的代码在哪里呢?              

使用特权

评论回复
67
huangchui| | 2023-5-16 20:08 | 只看该作者
在回调函数最后需要再次开启中断!!否则只能执行一次!!

使用特权

评论回复
68
zhuhuis| | 2023-5-16 20:10 | 只看该作者
http://www.stm32cube.com/article/74

使用特权

评论回复
69
zhuhuis| | 2023-5-16 20:12 | 只看该作者
库函数 printf使用dma吗  

使用特权

评论回复
70
yszong| | 2023-5-16 20:14 | 只看该作者
是不没有清除中断?

使用特权

评论回复
71
yszong| | 2023-5-16 20:16 | 只看该作者
用 HAL_UART_Receive_IT()函数并配置对应的NVIC模块、调用对应的中断服务函数并且钩上对应的回调。

使用特权

评论回复
72
zhuhuis| | 2023-5-16 20:18 | 只看该作者
它的功能是设置接收中断的参数,以及使能接收中断。

使用特权

评论回复
73
huangchui| | 2023-5-16 20:20 | 只看该作者
HAL库太辣鷄了。

使用特权

评论回复
74
houcs| | 2023-5-16 20:25 | 只看该作者
需要在主循环之前手动开启接收中断。

使用特权

评论回复
75
wuhany| | 2023-5-16 20:26 | 只看该作者
只有手动开启之后才能进入中断。

使用特权

评论回复
76
jiahy| | 2023-5-16 20:28 | 只看该作者

是不是其他的中断在处理数据?              

使用特权

评论回复
77
lizye| | 2023-5-16 20:30 | 只看该作者
是不是要清除中断呀?

使用特权

评论回复
78
guoyt| | 2023-5-16 20:31 | 只看该作者
你需要在中断代码重新启动中断。

使用特权

评论回复
79
zhuww| | 2023-5-16 20:34 | 只看该作者
HAL_UART_Receive_IT(&huart1, (uint8_t *)aRxBuffer, 1) 语句相当于打开这个入口,经测试如果去掉这句的话,再发送字符是不会进入HAL_UART_IRQHandler语句的。

使用特权

评论回复
80
zhuhuis| | 2023-5-16 20:35 | 只看该作者
HAL_UART_Receive_IT 不要放在HAL_UART_TxCpltCallback 里,放在主函数里,在初始化的时候调用,总之要在HAL_UART_Transmit_IT之前。

使用特权

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

本版积分规则