Python串行模块打印空行

时间:2018-05-16 04:59:50

标签: python linux arduino pyserial

我正在尝试生成一个生成随机数的Arduino代码和一个从序列中读取这些数字并在命令行中打印它们的Python程序。

这是我的Arduino代码:

void setup() {
}

void loop() {
    long rand = random(10);
    Serial.println(rand);
    delay(1000);
}

这是我的Python代码:

#!/usr/bin/python

import serial

ser = serial.Serial("/dev/ttyACM0",9600, timeout = 1)
if ser.is_open == 0:
    ser.open()
    print('serial was not open, so it is open now')
else:
    print('serial was open this whole time')
while ser.is_open:
    thing = ser.readline()
    print(thing)
    #ser.readline()
ser.close()

一旦Arduino开始创建随机数,我运行我的Python程序,我得到以下输出:

b''
b''
b''
b''
b''
b''
b''
b''

我希望看到随机数而不是b''

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您尚未初始化arduino代码中的序列对象

在Arduino代码的设置功能中尝试此更改。

setup()
{
    Serial.begin(9600);
}

下次遇到类似问题时,请尝试进行模块化检查。首先检查Arduino是否正在执行它的工作,然后检查整个系统是否正常工作。