RXNE和IDLE串口实验空闲中断串口接收程序,利用RXNE和IDLE中断直接在中断,函数里编写串口接收程序。
示例代码,完整代码,下载后学习使用。
HAL_Init(); //初始化HAL库
Stm32_Clock_Init(RCC_PLL_MUL9); //设置时钟,72M
delay_init(72); //初始化延时函数
uart_init(115200); //初始化串口
LED_Init(); //初始化LED
KEY_Init(); //初始化按键
// sprintf(hum,"%1.f \r\n",Humi); //保留小数点后2位小数,打印到Data数组中
// sprintf(temp,"%1.f \r\n",Temprature); //保留小数点后2位小数,打印到Data数组中
// OLED_ShowString(40,40,hum,16);//调用oled函数,在OLED屏上显示
// OLED_ShowString(40,24,temp,16);//调用oled函数,在OLED屏上显示
// OLED_Refresh_Gram();
while(1)
{
// printf("\r\n您发送的消息为:\r\n");
//
// if(USART_RX_STA&0x8000)
// {
// len=USART_RX_STA&0x3fff;//得到此次接收到的数据长度
// printf("\r\n您发送的消息为:\r\n");
// HAL_UART_Transmit(&UART1_Handler,(uint8_t*)USART_RX_BUF,len,1000); //发送接收到的数据
// while(__HAL_UART_GET_FLAG(&UART1_Handler,UART_FLAG_TC)!=SET); //等待发送结束
// printf("\r\n\r\n");//插入换行
// USART_RX_STA=0;
// }else