【问题标题】:Raspberry pi receives numbers from arduino树莓派从 arduino 接收数字
【发布时间】:2017-03-02 04:47:51
【问题描述】:

我正在尝试将 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”?

【问题讨论】:

  • 你确定是attyACM0 ot ttyACM0??
  • 谢谢@eyllanesc

标签: python-3.x arduino raspberry-pi pyserial


【解决方案1】:

对于那些想知道的人,事实上我在字符串中使用了 ' 而不是 ",正在改变:

Serial.println('Hi');

Serial.println("Hi");

eta: '118537\n\n' 之所以被打印出来是因为'Hi' 是一个由两个bytes 组成的文字数组,而不是一个“字符串” em>,因此编译器使用该函数打印int。实际上,Hhex 代码是48ihex 代码是69,而0x4869十六进制值 正好是@987654333 @ 十进制表示法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-15
    • 2013-07-29
    • 2013-02-08
    • 2017-05-03
    • 1970-01-01
    相关资源
    最近更新 更多