OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3958|回复: 0

STM32L051使用HAL库串口中断奇怪的经历

[复制链接]

1

主题

1

帖子

0

精华

新手入门

积分
6
金钱
6
注册时间
2021-3-4
在线时间
1 小时
发表于 2021-3-4 13:00:34 | 显示全部楼层 |阅读模式
1金钱


使用STM32CUB生成原始代码,然后采用串口中断接收

L051有两个串口,串口1,串口2,以及一个低功耗串口

发现只有串口2可以正常中断发收

为了使能中断,都在while主循环之前调用HAL_UART_Receive_IT(&huart2,(uint8_t *)&value,1);

但串口1或者低功耗串口,调用这个函数时,程序就卡死在HAL_UART_Receive_IT这个函数中,跟踪进去发现是卡死在
/* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */

                SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
       /* Enable the UART Parity Error interrupt and Data Register Not Empty interrupt */
    SET_BIT(huart->Instance->CR1, USART_CR1_PEIE | USART_CR1_RXNEIE);


这两句,

请教!






正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-13 10:24

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表