串口问题,有点不明白,呼叫原子哥,和大神们

2019-10-15 00:20发布

void USART2_IRQHandler(void)
{
        u8 temp;
  if(USART_GetITStatus(USART2, USART_IT_RXNE) != RESET)
  {
                //USART_ClearITPendingBit(USART2, USART_IT_RXNE);       
    temp= USART_ReceiveData(USART2);
                if(temp=='S')
                {
                        RXbuf[RXCUNT]=temp;
                        RXCUNT=3;
                }       
                else
                {
                        RXbuf[0]=' ';RXbuf[1]=' ';RXbuf[2]=' ';
                        RXbuf[RXCUNT]=temp;
                        RXCUNT++;
                }
       
        }
}
红 {MOD}地方不明白


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
huangyanga
1楼-- · 2019-10-16 08:06
字符S是结束符,收到S就放在当前数组最后,后面接收的非S数据都从RXbuf[3]开始存,直到又收到S,开始从RXbuf[3]覆盖
huangyanga
2楼-- · 2019-10-16 11:18
RXCUNT是定义的什么类型的,怎么定义的啊

一周热门 更多>