问题描述
我正在尝试在我的Arduino代码中分析从Serial收到的故障。
我收到了一个像ACTION = 24:A2:D1:8F:38:28 = 12
我知道如何将字符串的3部分分开。我现在有了一个带有ACTION的字符串,一个带有MAC地址的字符串,还有一个最后一个字符串,最后一个值位于最后一个“ =”之后。
但是我想将“ =”之后的最后一个值转换为INT。
我的代码是:
if (Serial.available()) {
Serial.println("Recpetion en cours");
c = Serial.readString();
sixFirstChar = c.substring(0,6);
Serial.println(c);
Serial.println(sixFirstChar);
if (sixFirstChar == "ACTION" || sixFirstChar == "SAVING" || sixFirstChar == "MASTER") {
ActionAccRqst = c.substring(7,24);
ActionToSend = c.substring(25,c.length());
Serial.println("Une action est à envoyer à : ");
Serial.print(ActionAccRqst);
Serial.print(" -> ");
Serial.println(ActionToSend);
if (sixFirstChar == "ACTION") {
myData.Type = 1;
} else if (sixFirstChar == "SAVING") {
myData.Type = 2;
} else if (sixFirstChar == "MASTER") {
myData.Type = 10;
}
myData.Message = ActionToSend.toInt();
Serial.println(myData.Type);
Serial.println(myData.Message);
}
}
我尝试使用toInt()
将myData.Message定义为Long,但是我的SerialPrint返回总是0 ...
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)