做串口通訊時踩過的坑

前排提醒:本人所有專欄文章均轉載自個人博客:

vvzero.com?

www.vvzero.com

轉載請註明作者和出處!

背景

心情煩躁,不寫點文章感覺無法冷靜。於是就稍稍總結了一下我自己在做串口通訊時踩過的坑。大部分都很基礎,也許適合剛剛接觸的新人。

實例

Windows驅動問題

目前市面上能買到的USB轉TTL串口模塊,其晶元多採用PL2302或CP2102。Windows官方提供的串口驅動不適用於這兩種晶元,所以需要手動安裝。

就給下驅動的鏈接,點擊下載:

PL2303

CP2102

Arduino上傳代碼的問題

Arduino是可以直接使用標準串口上傳代碼的,不一定要使用USB介面。只要將USB轉TTL串口模塊連接至Arduino的標準串口即可。

但是!大部分Arduino都要冷啟動以上傳代碼!也就是說,在上傳之前,你要按住Arduino上的重置按鈕,當Arduino IDE提示正在上傳的時候,鬆開重置按鈕,即可完成上傳。

當然,不成功就多試幾次。

USB轉TTL模塊的功率問題

有些模塊的功率並不是很足,所以,像藍牙模塊、Wi-Fi模塊,不一定能帶得動。

軟串口問題

Arduino單片機支持軟串口,即虛擬兩個數字引腳用於串口傳輸。

但是!軟串口很雞肋!實測9600的波特率就會出現大量傳輸錯誤,至於需要使用115200波特率的ESP8266模塊,軟串口根本無法勝任!曾在此糾結很久。

Arduino Mega倒是提供了4個硬體串口。

藍牙串口模塊供電問題

HC-05或HC-06模塊的工作電壓是3.3V,但是,這並不意味著你必須以3.3V供電。事實上,用3.3V供電很可能還會讓藍牙模塊功率不足,甚至頻繁斷開連接的問題。

下方是原文地址:

做串口通訊時踩過的坑?

www.vvzero.com圖標

同時歡迎關注公眾號:裂帛碎玉的想法

推薦閱讀:

為什麼同為3.5mm耳機介面,電腦能放聲音,手機卻不行?
串口通訊(上)——基礎概念
python 3.5 中pyserial串口通信如何向串口發送十六進位通信指令?
串口通訊(下)——簡單的USART數據收發實驗
RS422主從問題和一主多從問題?

TAG:串口通信 | Arduino | 通信格式 |