做串口通訊時踩過的坑
前排提醒:本人所有專欄文章均轉載自個人博客:
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供電很可能還會讓藍牙模塊功率不足,甚至頻繁斷開連接的問題。
下方是原文地址:
做串口通訊時踩過的坑同時歡迎關注公眾號:裂帛碎玉的想法
推薦閱讀:
※為什麼同為3.5mm耳機介面,電腦能放聲音,手機卻不行?
※串口通訊(上)——基礎概念
※python 3.5 中pyserial串口通信如何向串口發送十六進位通信指令?
※串口通訊(下)——簡單的USART數據收發實驗
※RS422主從問題和一主多從問題?