Не удается открыть UART на 40-контактном разъеме - PullRequest
0 голосов
/ 24 апреля 2019

Я работаю на доске разработчиков Coral. Я пытаюсь использовать UART1_TXD / RXD, UART3_TXD / RXD на 40-контактном разъеме на плате разработчика. Я следую инструкциям Подключение к контактам GPIO .

[serial_test.py]

from periphery import Serial

serial = Serial("/dev/ttyS0", 115200)

serial.write(b"Hello World!")

buf = serial.read(128, 0.5)
print("read %d bytes: _%s_" % (len(buf), buf))
serial.close()

Когда я тестирую плату:

$ python3 serial_test.py
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/periphery/serial.py", line 166, in _open
    termios.tcsetattr(self._fd, termios.TCSANOW, [iflag, oflag, cflag, lflag, ispeed, ospeed, cc])
termios.error: (5, 'Input/output error')

Во время обработки вышеуказанного исключения произошло другое исключение:

Traceback (most recent call last):
  File "serial.py", line 5, in <module>
    serial = Serial("/dev/ttyS0", 115200)
  File "/usr/local/lib/python3.5/dist-packages/periphery/serial.py", line 60, in __init__
    self._open(devpath, baudrate, databits, parity, stopbits, xonxoff, rtscts)
  File "/usr/local/lib/python3.5/dist-packages/periphery/serial.py", line 168, in _open
    raise SerialError(e.errno, "Setting serial port attributes: " + e.strerror)
AttributeError: 'error' object has no attribute 'errno'

$ stty -F /dev/ttyS0
stty: /dev/ttyS0: Input/output error

И остальные ttyS1 ~ 3 имеют тот же результат.

Какой правильный путь к устройству?

1 Ответ

0 голосов
/ 30 апреля 2019

Два порта UART, представленные на плате разработчиков Coral (UART1 и UART3), соответствуют следующим файловым дескрипторам:

  • UART1 /dev/ttymxc0
  • UART3 /dev/ttymxc2

Вы можете получить доступ к этим портам через 40-контактный разъем ввода / вывода и через интерфейс последовательная консоль (мост USB-UART предоставляет два порта при подключении к рабочей станции) .

Текущий выпуск Менделя (шеф-повара) содержит следующие предостережения:

  1. UART1 используется совместно с консолью последовательной отладки. Вам нужно будет отключить консоль в Linux, чтобы использовать этот порт с приложениями.
  2. UART3 не включен по умолчанию в базовом пакете. Вам необходимо обновить пакеты на вашей плате, чтобы включить это. Мы добавили инструкции к документации ввода / вывода .
...