RXNE和IDLE串口实验空闲中断串口接收程序

分享:keke7106
时间:2023-03-02
类别:源码 - C/C++源码

RXNE和IDLE串口实验空闲中断串口接收程序

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

收藏