arduino - 从 arduino 的串行电车获取 INT
问题描述
我正在尝试在我的 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 ...
解决方案
推荐阅读
- javascript - 反应样式化的组件样式内部元素
- python - Python Blessed Library 缺少按键事件
- cuda - 是否有关于 NVCC 编译器优化启发式的文档?
- java - KeyCloak getProvider() 返回 null
- labview - 是否有可能两个位移传感器的值(一个是数字输入,另一个是模拟输入)在 vi 中同时表示?
- c# - 使用外部 WPF 窗口进行单词匹配
- android - 将我的应用程序限制为仅从 Googe Play 商店下载
- c# - 为什么我们需要为 Command 设置绑定路径和源 xReference 而不仅仅是属性/命令名称?
- javascript - 使用 express 找不到模块“js”
- java - Lombok 的 @[No|All|Required]ArgsConstructor 注释的 onConstructor 属性是否仅适用于 Java 7 样式?