gpt4 book ai didi

c - 使用 Serial.write 串行发送字节数组时出错

转载 作者:太空宇宙 更新时间:2023-11-04 02:54:19 25 4
gpt4 key购买 nike

使用 Serial.write 串行发送字节数组时出错。

     byte buf[] = {125, 126, 127, 2000, 5000};

int i = Serial.write(buf, sizeof(buf));

for(int i = 0; i < (sizeof(buf) / sizeof(buf[0])); i++)
{
Serial.println(buf[i]);
}

输出:

}~??125
126
127
208
136

任何时候对于未知字符开始。我使用的是 Arduino 1.0.5 版本

最佳答案

它们不是未知字符,那是你打印的:

int i = Serial.write(buf, sizeof(buf));

只需检查一个 ASCII table buf[0] = 125 = '{'

使用write(),您可以编写没有任何格式的原始数据。您的第一个字节是二进制 01111101 中的值 125。如果将此字节解释为 char,则此字节对应于字符 {。您的串行通信将传入的字节解释为 char,因此它打印 '{`。

如果您想在串行通信中将 125 打印为字符串,您必须发送 buf[] = {49, 50, 53}。或者您必须将您的 interget 转换为字符串。

关于c - 使用 Serial.write 串行发送字节数组时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19247231/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com