打印
[STM32F1]

Cubemx hal 库 HAL_UART_Receive_IT 的死锁问题

[复制链接]
楼主: qqjmjso
手机看帖
扫描二维码
随时随地手机跟帖
41
jiajs| | 2023-4-2 12:34 | 只看该作者 回帖奖励 |倒序浏览
用 HAL_UART_Receive_IT()函数并配置对应的NVIC模块、调用对应的中断服务函数并且钩上对应的回调。

使用特权

评论回复
42
wenfen| | 2023-4-2 12:36 | 只看该作者
它的功能是设置接收中断的参数,以及使能接收中断。

使用特权

评论回复
43
bqyj| | 2023-4-2 12:38 | 只看该作者
HAL库太辣鷄了。

使用特权

评论回复
44
lizye| | 2023-4-2 12:42 | 只看该作者
需要在主循环之前手动开启接收中断。

使用特权

评论回复
45
bqyj| | 2023-4-2 13:20 | 只看该作者
只有手动开启之后才能进入中断。

使用特权

评论回复
46
langgq| | 2023-4-2 13:22 | 只看该作者
是不是其他的中断在处理数据?              

使用特权

评论回复
47
bqyj| | 2023-4-2 13:23 | 只看该作者
是不是要清除中断呀?

使用特权

评论回复
48
jiajs| | 2023-4-2 13:24 | 只看该作者
你需要在中断代码重新启动中断。

使用特权

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

使用特权

评论回复
50
jiajs| | 2023-4-2 13:27 | 只看该作者
HAL_UART_Receive_IT 不要放在HAL_UART_TxCpltCallback 里,放在主函数里,在初始化的时候调用,总之要在HAL_UART_Transmit_IT之前。

使用特权

评论回复
51
zhanghqi| | 2023-4-2 13:29 | 只看该作者
启动有问题吗、              

使用特权

评论回复
52
lizye| | 2023-4-2 13:30 | 只看该作者
是不是要重新使能中断

使用特权

评论回复
53
langgq| | 2023-4-2 13:33 | 只看该作者
手动清除下中断试试

使用特权

评论回复
54
zhenykun| | 2023-4-2 13:34 | 只看该作者
__HAL_LOCK 这个没哟遇到过。

使用特权

评论回复
55
wyjie| | 2023-4-2 13:35 | 只看该作者
直接调用固定的函数就行。              

使用特权

评论回复
56
Henryko| | 2023-4-2 15:07 | 只看该作者
是不是需要手动清除中断标志位啊

使用特权

评论回复
57
SantaBunny| | 2023-5-5 22:52 | 只看该作者
可能是REC缓存溢出了

使用特权

评论回复
58
huangchui| | 2023-5-16 19:44 | 只看该作者
直接调用固定的函数就行。              

使用特权

评论回复
59
lium| | 2023-5-16 19:46 | 只看该作者
__HAL_LOCK 这个没哟遇到过。

使用特权

评论回复
60
zhanglli| | 2023-5-16 19:47 | 只看该作者
使能串口接收中断。               

使用特权

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

本版积分规则