String comdata = "";
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println();
Serial.println();
Serial.println();
}
void loop() {
// put your main code here, to run repeatedly:
SerialEvent();
}
void SerialEvent()
{
while (Serial.available() > 0)
{
comdata += char(Serial.read());
delay(2);
}
//输入格式: a,10,b,20
if (comdata.length() > 0)
{
int s = 4; //词条总数,设置为偶数
int pos = 0;
String str[s];
String cmd[s/2];
int num[s/2];
for(int i=0;i<comdata.length();i++)
{
if(comdata[i] != ',')//逗号为分隔符
{
str[pos] += comdata[i];
}
else
{
pos++;
}
}
//
for(int i=0;i<s;i++)
{
if(i%2 == 0){
//偶数词条
cmd[i] = str[i];
Serial.print(cmd[i]); Serial.print("=");
}
else
{
//奇数词条转换为int属性
num[i] = str[i].toInt();Serial.println(num[i]);
}
}
//
//将cmd[i]和num[i]传送到其他函数去处理
//
//清空字符串
comdata = "";
}
}
arduino串口分割字符串
于 2020-03-10 16:48:15 首次发布