У меня есть FT232RL USB-последовательный адаптер, который я подключаю к микроконтроллеру (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
Я думаю, это как-то связано с драйвером, но я понятия не имею, как это исправить.
ОБНОВЛЕНИЕ : я прекратил использовать Putty и начал использовать python -m serial.tools.miniterm /dev/ttyUSB0 76800
, и это решило проблему. Кто-нибудь может сказать мне, почему? Какая конфигурация у этих двух программ для последовательной связи?