Серийный модуль Python печатает пустые строки - PullRequest
0 голосов
/ 16 мая 2018

Я пытаюсь создать код 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 голосов
/ 16 мая 2018

Вы не инициализировали серийный объект в коде Arduino

Попробуйте это изменение в функции настройки в вашем коде Arduino.

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

и в следующий раз у вас возникнет похожая проблема, попробуйте модульные проверки. Сначала проверьте, выполняет ли Arduino свою работу или нет, а затем проверьте, работает ли вся система.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...