21课程的 串口接收,有漏洞

[复制链接]
 楼主| 追光少年 发表于 2019-10-31 15:44 | 显示全部楼层 |阅读模式
// 把接收到的数据存在一个数组缓冲区里面,当接收到的的值等于0XFF时,把值返回
uint16_t rx_buf[1024];
uint16_t num = 0;
void DEBUG_USART_IRQHandler(void)
{        
        if(USART_GetITStatus(DEBUG_USARTx,USART_IT_RXNE)!=RESET)
        {        
                rx_buf[num] = USART_ReceiveData(DEBUG_USARTx);
        
                // 当接收到的值等于0XFF时,把值发送回去
                if( rx_buf[num] == 0xff )
                {
                                USART_SendData(DEBUG_USARTx,rx_buf[num]);
                        
               
                // 当值不等时候,则继续接收下一个
    else
    {
                        num ++;
          }  
        }         
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

379

主题

379

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部