簡體   English   中英

USB串行數據發送亂碼

[英]USB Serial data sending gibberish

我遇到了一個我似乎無法解決的問題。 我在樹莓派上使用 python 從 pi 上的 USB 連接讀取(從串行轉換)。

我能夠連接到 USB 端口並開始使用代碼接收數據

ser = serial.Serial("myUsbPortID", 9600)
bytes = ser.inWaiting()
print ser.read(bytes)

我知道波特率為 9600(硬件制造商文檔),但是由於某種原因,當我嘗試讀取數據流時,我收到了很多不同語言和字符形式的亂碼。 在我殺死程序后,我的屏幕仍然用我輸入的亂碼數據替換我的字符。

我確定這不是硬件發送的數據流。 某處的某些東西正在轉換事物,但我不知道它可能是什么。

當我啟動設備並正在初始化時,我會獲得可讀信息。 但是當設備開始運行時,我只會得到這個奇怪的字符

有沒有辦法將這些字符轉換為它實際輸入的數據?

示例圖片:輸出屏幕

所以我能夠用 python 代碼上的這一行解決胡言亂語的問題(對於其他有這個問題的人)。

data = ":".join("{:02x}".format(ord(c)) for c in bytes)

其中 bytes 是原始數據,我將其設為 ':' 分隔。 似乎連接和波特率沒問題。 幸運的是,數據能夠轉換為十六進制。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM