arduino中substring无法读取16进制并以16进制方式打印出来
时间: 2024-02-09 11:10:15 浏览: 167
Arduino串行到整数:读取十进制和十六进制字符串,将其转换为长整数
Arduino 的 `substring` 函数可以读取 16 进制数,而要将其以 16 进制方式打印出来,可以使用 `Serial.print` 函数并指定打印的基数为 16。
以下是一个示例代码,演示如何使用 `substring` 函数和 `Serial.print` 函数将 16 进制字符串转换为十进制数并以 16 进制方式打印出来:
```
String hexString = "1A";
int decimalNumber = strtol(hexString.substring(0, 2).c_str(), NULL, 16);
Serial.print(decimalNumber, HEX); // 以 16 进制方式打印
```
在上面的代码中,`substring` 函数用于提取字符串的前两个字符,即 `"1A"` 中的 `"1"` 和 `"A"`。然后,`c_str` 函数将 `String` 对象转换为 C 风格的字符串,`strtol` 函数将其转换为十进制数。最后,`Serial.print` 函数以 16 进制方式打印该数值。
阅读全文