У меня есть адаптер USB-to-serial FT232RL, который я подключаю к микроконтроллеру (esp8266 esp-01). Он отлично работает в Windows 10, если я открываю последовательную связь с шпатлевкой в COM3 со скоростью передачи 76800, она показывает ожидаемый результат. Но когда я пытаюсь сделать это в Linux, я вижу только мусор.
Шаги, которые я выполнил в ubuntu, следующие:
$ dmesg | grep FTDI
[ 1.918717] usb 1-1.1: Manufacturer: FTDI
[ 10.766450] usbserial: USB Serial support registered for FTDI USB Serial Device
[ 10.766485] ftdi_sio 1-1.1:1.0: FTDI USB Serial Device converter detected
[ 10.766889] usb 1-1.1: FTDI USB Serial Device converter now attached to ttyUSB0
Также я добавил своего пользователя в dialout и tty, но все еще нужно sudo, чтобы открыть последовательный терминал.
sudo usermod -aG dialout username
sudo usermod -aG tty username
Затем я запускаю sudo putty, выбираю серийный номер и подключаюсь к /dev/ttyUSB0 и скорости передачи 76800. Но всякий раз, когда я перезапускаю микроконтроллер (когда я должен получить какой-то вывод в последовательной консоли), я получаю только символы мусора.
Выход из lsusb следующий: Bus 001 Device 003: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
И на всякий случай это необходимо:
$ uname -a
Linux pcname 4.13.0-26-generic #29~16.04.2-Ubuntu SMP Tue Jan 9 22:00:44 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Я думаю, что это имеет какое-то отношение к драйверу, но я понятия не имею, как это исправить.
UPDATE: я прекратил использовать Putty и начал использовать python -m serial.tools.miniterm /dev/ttyUSB0 76800, и это устранило проблему. Может ли кто-нибудь сказать мне, почему? Какая конфигурация имеет две конфигурации для последовательной связи?