Я написал простой скрипт для Windows, который отлично работает, и адаптировал его для Linux (Ubuntu). Проблема в том, что он не читает отправленный байт.
Я перепробовал все различные последовательные порты, доступные в соответствии с IDE Arduino, но проблема сохраняется. Я также безуспешно использовал \ n и \ r и другие кодировки.
Код, работающий на win10:
import serial
import time
import keyboard
arduino = serial.Serial('COM4', 9600, timeout=0)
while True:
arduino.write('a'.encode())
time.sleep(0.1)
print(arduino.readline())
Код не работает в Ubuntu:
import serial, time
arduino = serial.Serial('/dev/ttyAMC0', 9600, timeout = 0)
while True:
arduino.write('a'.encode())
time.sleep(0.1)
print(arduino.readline())
Итак, первый скрипт печатает непрерывно a\r\n
, второй - нет. Просто показывает b''
непрерывно. Поэтому я думаю, что это не просто написать письмо.