求助,arduino串口数到字符串中并分成字符分组
1个回答
展开全部
int zhengshu; String zifu="";//全局变量
void setup() {Serial.begin(9600); }//串口调试
void loop()
{
Serial.println(zifu);
Serial.print("shuzi:");
Serial.println(zhengshu);
delay(1000);
}
void serialEvent()
{
String intchars="";//局部变量
String chars="";
int temp;
while(Serial.available()>0)//一直等待数据接收完成 用if的话loop函数执行一次接受1个字符
{ char inchar=Serial.read();
if(isDigit(inchar)) //是数字就执行
{
intchars+=inchar;//数字字符串
}
else chars+=inchar;//否则就是字符串
}
temp=intchars.toInt();//将数字字符串转换成整数
Serial.print("jieshou -.-ok");//调试加入的好习惯 可以不要此句
zhengshu=temp;//赋值给全局变量,每次发送都覆盖原来的数据
zifu=chars;//赋值给全局变量,每次发送都覆盖原来的数据
}
void setup() {Serial.begin(9600); }//串口调试
void loop()
{
Serial.println(zifu);
Serial.print("shuzi:");
Serial.println(zhengshu);
delay(1000);
}
void serialEvent()
{
String intchars="";//局部变量
String chars="";
int temp;
while(Serial.available()>0)//一直等待数据接收完成 用if的话loop函数执行一次接受1个字符
{ char inchar=Serial.read();
if(isDigit(inchar)) //是数字就执行
{
intchars+=inchar;//数字字符串
}
else chars+=inchar;//否则就是字符串
}
temp=intchars.toInt();//将数字字符串转换成整数
Serial.print("jieshou -.-ok");//调试加入的好习惯 可以不要此句
zhengshu=temp;//赋值给全局变量,每次发送都覆盖原来的数据
zifu=chars;//赋值给全局变量,每次发送都覆盖原来的数据
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询