gpt4 book ai didi

arduino - 为什么我的 Arduino 串口给我的是半随机数?

转载 作者:行者123 更新时间:2023-12-02 10:40:34 25 4
gpt4 key购买 nike

我的 Arduino Uno 有一个基本问题。
我的示例代码通过串行端口获取一个数字,并应将其打印回来。

int incomingByte = 0;

void setup() {
Serial.begin(9600);
Serial.println("Hello World");
}

void loop() {
if (Serial.available() > 0) {

// read the incoming byte:
incomingByte = Serial.read();

// say what you got:
Serial.print("I received: ");
Serial.println(incomingByte, DEC);
}
}

当我发送 0 时,我收到 48。

0->48
1->49
2->50
3->51

a->97
b->98
A->65

那么为什么它不将相同的号码发回给我呢?

最佳答案

在您的程序中,输出为 ASCII equivalent Arduino 接收到的输入。 0 的 ASCII 等效值是 48、1 是 49、a 是 97、A 是 65 等等。

原因是您将输入存储到 incomingByte 变量 (incomingByte = Serial.read();),但您声明了 incomingByte 变量作为int。当一个字符被分配给整型变量时,其对应的ASCII值将被存储到integer variable中。 .

因此,如果您想打印发送到 Arduino 的字符,则需要将 intcomingByte = 0; 更改为 charincomingByte;

关于arduino - 为什么我的 Arduino 串口给我的是半随机数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47380237/

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