Raspberry pi 从 arduino 接收数字
Raspberry pi receives numbers from arduino
我正在尝试将 Raspberry Pi 连接到 Arduino,当我设置一个循环以从 Arduino Uno 串行接收信息时,它只接收:
'118537\r\n'
那是我尝试串行打印的时候 'Hi'
这是我的arduino代码:
void setup(){
Serial.begin(9600);
}
void loop(){
Serial.println('Hi');
delay(2000);
}
这是我的 python 3.2 代码:
import serial
ser = serial.Serial('/dev/ttyACM0')
while True:
print(ser.readline())
每 2 秒打印一次:“118537\r\n”。
怎样才能每2秒得到一次原件'Hi'?
对于那些想知道的人,事实上我在字符串中使用了 ' 而不是 ",更改:
Serial.println('Hi');
至
Serial.println("Hi");
eta:之所以打印出'118537\n\n'是因为'Hi'
是两个bytes
的文字数组而不是a "string" 因此 编译器 使用函数打印 int
。实际上,H
的hex
代码是48
,i
的hex
代码是69
, 0x4869
的十六进制值 正好是十进制的 118537
。
我正在尝试将 Raspberry Pi 连接到 Arduino,当我设置一个循环以从 Arduino Uno 串行接收信息时,它只接收:
'118537\r\n'
那是我尝试串行打印的时候 'Hi'
这是我的arduino代码:
void setup(){
Serial.begin(9600);
}
void loop(){
Serial.println('Hi');
delay(2000);
}
这是我的 python 3.2 代码:
import serial
ser = serial.Serial('/dev/ttyACM0')
while True:
print(ser.readline())
每 2 秒打印一次:“118537\r\n”。
怎样才能每2秒得到一次原件'Hi'?
对于那些想知道的人,事实上我在字符串中使用了 ' 而不是 ",更改:
Serial.println('Hi');
至
Serial.println("Hi");
eta:之所以打印出'118537\n\n'是因为'Hi'
是两个bytes
的文字数组而不是a "string" 因此 编译器 使用函数打印 int
。实际上,H
的hex
代码是48
,i
的hex
代码是69
, 0x4869
的十六进制值 正好是十进制的 118537
。