通过 USB 端口连接 UART 设备时出现问题

通过 USB 端口连接 UART 设备时出现问题

我正在尝试通过 USB 与几个 UART 设备进行通信。 HT-06蓝牙模块和GY-NEO6MV2 GPS模块。我使用的是 Prolific PL2303 USB 电缆。作为备份,我还有一台 Silicon Labs CP2102。

当我连接PL2303时

  • 命令lsusb返回
    Bus 001 Device 015: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
    
  • 命令dmesg返回
    [147697.657037] usb 1-11: pl2303 converter now attached to ttyUSB0
    
  • 节目 之一ls -l/dev
    crw-rw----  1 root dialout   188,   0 Jun 15 08:58 ttyUSB0
    

我已将自己添加到该dialout组中并设置chmod666.

然后,我使用 Putty 与端口/dev/ttyUSB0、波特率 9600 和奇偶校验 8,1,None 进行串行连接。我将PL2303电缆连接到HT-06作为GND-GND、VCC-VCC、TX-RX和RX-TX。所有非常基本的东西。

Putty 屏幕开始时左上角有一个光标。我发送AT命令。我期待着好的,但什么也没发生。我有第二个 HT-06,但仍然一无所获。

我认为这可能是 RX 或 TX 电缆损坏(HT-06 上的 LED 闪烁,因此 VCC 和 GND 正常),因此我将 PL2303 换成了 CP2102。 lsusb 和 dmesg 都告诉我转换器已连接(再次位于/dev/ttyUSB0)。使用相同的 Putty 设置我仍然一无所获。

按照类似的思路,我将 NEO6M 与 PL2303 和 CP2102 连接起来,并使用xgps( 的子集gpsd)。这会返回一个错误

gpsd is not connected to /dev/ttyUSB0

显然什么也没有发生。

我使用带有内核 5.4.0-74-generic 的 Linux Mint 20,其中包含 CP210X 和 PL230X 的驱动程序。我还尝试了不同的 USB 端口(USB2 和 USB3),尽管有 2 个不同的 USB-TTL 转换器、3 个 UART 设备和几个不同的串行终端应用程序(我也尝试过minicommrfcomm),但没有任何效果。

答案1

我挖出了一个旧的 Arduino,它以前可以在我的 PC 上运行,当时它是一个更旧版本的 Linux。使用最新的 Arduino IDE 和串行监视器...它可以工作。我现在可以与 HC-06 和 NEO6m 设备通信。不是我想要的解决方案,但它是一个解决方法

答案2

您可以分享您的 tty 配置 stty --all -F /dev/ttyUSB0 并检查 CLOCAL 标志,检查所有配置标志,还检查您的硬件配置,DB9 连接器有不同的接线配置。还请记住,速度是波特率或比特率(取决于驱动程序配置)。因此,如果您有时需要 9600 的比特率,则应将速度设置为 1200

答案3

picocom我通过使用( ) 程序让调制解调器正常工作sudo apt install picocom

picocom /dev/ttyUSB0

然后只需键入命令。另外,如果不起作用,请尝试使用 sudo。

相关内容