帮忙看看这个程序哪里出了问题,串口的数据保存不到Num-Arduino中文社区 - Powered by Discuz! Archiver

菜鸟--Evan 发表于 2018-6-30 14:47

帮忙看看这个程序哪里出了问题,串口的数据保存不到Num

```
char num;
char table;
char temp;                     //收到的字节临时缓冲区
unsigned int RxCont=0;         //收到的字节实际长度
int RxFlage=0;                   //串口标示

void setup()
{

Serial.begin(9600);

}


void loop()
{
      commandCompare();
}

/*串口接收函数*/
void serialEvent()
{
      
      if(Serial.available())
      {
                temp=Serial.read();
                num=temp;
                //Serial.println(num);
                if (temp == '\n')
                {
                        RxFlage=1;
                        Serial.flush();
                        
      }
               
      }      
}

/*字符串处理函数*/
void commandCompare()
{
      int i;
      if(RxFlage==1)
      {
                RxFlage=0;
               
                for(i=0;i<sizeof(num);i++)
                {
                        num=tolower(num);
                        Serial.println(num+"----");
                        
                }
                /*strncpy(table,num,strlen(num));
               
                if(strncmp(table,"close",5)==0)
                {
                        //处理气缸动作
                        Serial.print("close_OK");
                        //initNum();
                }else{
                        Serial.println("error_command");
                }*/
      }
}
```

DD小白水 发表于 2018-7-6 20:34

serialEvent()函数没调用,loop()函数里只有commandCompare(),而commandCompare()又没调用serialEvent()。我觉得把自己定义的函数都放在setup函数前面比较好
页: [1]
查看完整版本: 帮忙看看这个程序哪里出了问题,串口的数据保存不到Num