STM32串口接收数据

10 篇文章 2 订阅
6 篇文章 0 订阅

 

 


参考串口接收中断处理函数:

//------------------------------------------------------------------
//函数名:void USART1_IRQHandler(void)
//输入参数:null
//返回参数:null
//说明:串口接收中断服务
//------------------------------------------------------------------
void USART1_IRQHandler(void)
{
  
  if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)          //判断读寄存器是否非空
  {      
//    GPIO_SetBits(GPIOB,GPIO_Pin_6);
    rx_data[RbufCounter++]=USART_ReceiveData(USART1);    //接收字节到接收缓冲区
    if(USART_Rsv_Status==0)
    {
      if(RbufCounter>1)
      {
        if(rx_data[0]==0xA5&&rx_data[1]==0x5A)    //当接收到的数据帧头两个字节同时为0xA5和0x5A时
        {
          USART_Rsv_Status=1;
//           USART_SendData(USART1, rx_data[0]);
        }
        else
        {
          rx_data[0]=rx_data[1];
          RbufCounter=1;
         
        }
      }
    }
    else
    {
      USART_1ms_Cnt=0;
    }               
  }         
}

正好这个帧头和我们的差不多,可以直接用。

 

 

 

 

 

 

参考:

教你使用stm32接收串口的一帧数据!

stm32应用-简单的串口接收与发送程序

STM32串口接收粉尘传感器数据

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值