我有一个FT232RLUSB 转串行适配器,我将其连接到微控制器 (esp8266 esp-01)。它在 Windows 10 中运行良好,如果我以COM3
波特率使用 putty 打开串行通信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
,这解决了问题。有人能告诉我为什么吗?这两个程序在串行通信方面的配置有何不同?