[STM32F1] Cubemx hal 库 HAL_UART_Receive_IT 的死锁问题

[复制链接]
abotomson 发表于 2023-3-18 11:37 | 显示全部楼层
你需要在中断代码重新启动中断。
sdlls 发表于 2023-3-18 14:00 | 显示全部楼层
HAL_UART_Receive_IT(&huart1, (uint8_t *)aRxBuffer, 1) 语句相当于打开这个入口,经测试如果去掉这句的话,再发送字符是不会进入HAL_UART_IRQHandler语句的。
modesty3jonah 发表于 2023-3-18 14:18 | 显示全部楼层
HAL_UART_Receive_IT 不要放在HAL_UART_TxCpltCallback 里,放在主函数里,在初始化的时候调用,总之要在HAL_UART_Transmit_IT之前。
plsbackup 发表于 2023-3-18 17:55 | 显示全部楼层
启动有问题吗、              
MessageRing 发表于 2023-3-20 22:27 | 显示全部楼层
是不是要重新使能中断
AloneKaven 发表于 2023-3-23 23:31 | 显示全部楼层
手动清除下中断试试
supernan 发表于 2023-4-2 12:11 | 显示全部楼层
直接调用固定的函数就行。              
xxrs 发表于 2023-4-2 12:13 | 显示全部楼层
__HAL_LOCK 这个没哟遇到过。
chenho 发表于 2023-4-2 12:17 | 显示全部楼层

使能串口接收中断。               
wenfen 发表于 2023-4-2 12:18 | 显示全部楼层
这个需要清楚中断吧              
stly 发表于 2023-4-2 12:19 | 显示全部楼层

估计是高频数据速度太快了吧。
heweibig 发表于 2023-4-2 12:22 | 显示全部楼层
有没可能是REC缓存溢出了。
spark周 发表于 2023-4-2 12:23 | 显示全部楼层
接收的数据频率和速度是多少?
kangzj 发表于 2023-4-2 12:24 | 显示全部楼层
是不是要清除中断啊?
wuhany 发表于 2023-4-2 12:26 | 显示全部楼层
你的代码在哪里呢?              
liliang9554 发表于 2023-4-2 12:27 | 显示全部楼层
在回调函数最后需要再次开启中断!!否则只能执行一次!!
午夜粪车 发表于 2023-4-2 12:28 | 显示全部楼层
http://www.stm32cube.com/article/74
zhanglli 发表于 2023-4-2 12:30 | 显示全部楼层

库函数 printf使用dma吗  
huangchui 发表于 2023-4-2 12:33 | 显示全部楼层
是不没有清除中断?
jiajs 发表于 2023-4-2 12:34 | 显示全部楼层
用 HAL_UART_Receive_IT()函数并配置对应的NVIC模块、调用对应的中断服务函数并且钩上对应的回调。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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