![透過 USB 連接埠連接 UART 裝置時出現問題](https://rvso.com/image/192226/%E9%80%8F%E9%81%8E%20USB%20%E9%80%A3%E6%8E%A5%E5%9F%A0%E9%80%A3%E6%8E%A5%20UART%20%E8%A3%9D%E7%BD%AE%E6%99%82%E5%87%BA%E7%8F%BE%E5%95%8F%E9%A1%8C.png)
我正在嘗試透過 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
群組並設定chmod
為666
。
然後,我使用 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 設備和幾個不同的串行終端應用程式(我也嘗試過和minicomm
)rfcomm
,但沒有任何效果。
答案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。