欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

STM32中断方式接收方式每次一个字节同时发生接收一段时间后不能再次接受问题

程序员文章站 2024-02-22 12:08:04
...

问题产生原因:

频繁的发送数据和频繁的接收数据串口将产生过载错误;这就导致接收中断使能关闭;

SR寄存器标志产生过载

STM32中断方式接收方式每次一个字节同时发生接收一段时间后不能再次接受问题

产生错误时寄存器值的变化

STM32中断方式接收方式每次一个字节同时发生接收一段时间后不能再次接受问题

解决办法:

重新打开中断接收标志

		if((huart1.Instance->CR1 & 0x20)==0) //判断是否关闭了中断标志
		{
		
			HAL_UART_Receive_IT(&huart1,data,1); //重新开启中断接收
		}