我正在尝试使用终端通过USB向我的Arduino Nano发送值。
但是:当在循环中使用Serial.print()打印出读取字节的值时,我得到三个单独的值 - 它们都不是我实际发送的值。
例如:发送41时,我在终端上打印52,49和13。
我的代码如下所示:
byte incomingByte;
void setup() {
Serial.begin(9600);
}
void loop() {
if (Serial.available() > 0) {
incomingByte = Serial.read();
Serial.print(incomingByte);
}
}
知道我做错了吗?
答案 0 :(得分:1)
您的终端以十进制打印并以ASCII格式发送。如果你看一下ASCII表,52,49和13对应于ASCII中的41 \ r \ n。你输入了4作为ASCII并且得到了小数52,然后是ASCII中的1并且得到了小数49并且可能点击了回车或回车(CR - \ r)并且得到小数13。