使用Arduino时,方便的串口函数使串口解析过程非常简单,通过Serial.parseInt()或Serial.parseFloat()结合Switch() Case 分支语句可以完成串口控制。主程序中使用:
void loop()
{
Serial_analysis();
}
void Serial_analysis()//串口控制程序
{
if (Serial.available() > 0)
{
cmd = Serial.read();
Sim= Serial.parseInt();
if (Serial.read() == '\r');//回车符
{
Serial.print(cmd);
Command_transfer();
}
}
}
串口解析方法使用Switch Case
void Command_transfer()//串口解析程序
{
Serial.print(cmd);
switch(cmd)
{
case 'V':
velocity0=Sim;
Serial.print(velocity0);
break; //0号泵运行速度控制
case 'v':
velocity1=Sim;
Serial.print(velocity1);
break; //运行速度控制
}
使用者这种方法比较简单易用,只是通讯设计时通常使用一个字母加有效数字的方法,例如V100,D35等等。
另外在使用时注意,不要在case 语句中定义临时变量,会导致无法进入其后面的case语句。