硬件條件:
stm32F103的板子、HC-05的藍牙、USB-TTL的插頭、stlink。
整個過程是常用的控制系統的閉合迴路,設計通信的收發,嵌入式動作的響應等。
開發過程的順序:
作者在進行了很多次的類似開發,每次在藍牙的通信方面遇到問題,由於系統的複雜,往往也很難快速的找到嵌入式系統中到底是軟件還是硬件出現了問題。經過多次的實驗,本文推薦下面的設計流程,能夠最快的找到問題的所在。
1、首先第一點驗證所有的線沒有問題,作者有一次遇到這樣的問題,簡直是崩潰。
2、其次將藍牙芯片用USB-TTL連接在電腦上,測試與串口助手通信有沒有問題。
(其中注意藍牙的電源最好是5V,此處針對本硬件條件,低於5V會導致通信失敗)
3、將程序燒錄進芯片中,利用USB-TTL連接到電腦,利用串口助手進行數據收發的測試,
其中注意端口、速率的選擇
注意:接收的過程中,千萬不要以空字符爲接收結束的標誌,系統裏必須要發送了過去,程序才能自動識別,有些串口助手在發送字符串的時候,並不會在結尾自動加上空字符,它只會將字符一個一個發送出去。*這是我本次遇到的問題*
4、調完通信的問題後,接着調嵌入式的動作問題。以及今後在其中對接收數據的格式處理等。
5、程序中的速率改爲9600較好,115200的接收速率有些手機上的藍牙助手是無法接收的。