HC05藍(lán)牙模塊和stm32f407關(guān)于AT指令和手機(jī)連接問題
最近買了一個(gè)正點(diǎn)原子的探索者stm32f407的開發(fā)板,快放寒假的時(shí)候又在原子那里買了個(gè)藍(lán)牙模塊,準(zhǔn)備在寒假的時(shí)候好好研究(探索者上面有藍(lán)牙模塊的接口,買了可以直接插入到插口里面)。以為很簡單,結(jié)果中途遇到了一些問題,從昨天下午到今天上午終于把AT指令和手機(jī)連接全都搞定了,現(xiàn)在給大家分享一下在探索過程中我遇到的問題和我的解決方法(正點(diǎn)原子的資料很好,很齊全,大家沒空可以多看看)。
我從藍(lán)牙模塊配套的資料包里下載了藍(lán)牙串口app到手機(jī)里,然后把藍(lán)牙模塊插入到插口里,再把程序下到開發(fā)板里,把開發(fā)板的電源開關(guān)按一下,斷電,再按一下開關(guān),通電。這個(gè)時(shí)候,你會在顯示屏(我是4.3寸的顯示屏)上看到ROLE:MasterSTA:Disconnect(顯示這個(gè)表示手機(jī)連接不了,但可以通過串口來與藍(lán)牙通信),這個(gè)時(shí)候你再打開串口調(diào)試助手(我是XCOM這個(gè)串口助手),波特率調(diào)成38400,打開串口,你會看到打印幾個(gè)亂碼(什么都沒打印不也要緊)。這個(gè)時(shí)候,你發(fā)送AT指令,你會看到什么都沒打印出來或者打印出“函數(shù)錯(cuò)誤”(即使你把波特率調(diào)到9600或其它波特率)。我解決這個(gè)問題的辦法就是先把模塊拔出來,準(zhǔn)備5個(gè)母對母的杜邦線,把藍(lán)牙模塊的VCC接單片機(jī)的5v,GND接單片機(jī)的GND(注意,只發(fā)送AT指令不用程序,單片機(jī)只是提供電源和USB轉(zhuǎn)TTL串口),找到單片機(jī)的串口1(USART1),把原來的跳線帽拔了,用杜邦線把藍(lán)牙模塊的RXD和TXD分別與串口1的TXD和RXD連接。這個(gè)時(shí)候,你再把開發(fā)板的電源開關(guān)按一下,斷電,再按一下開關(guān),通電。通過串口助手發(fā)送AT指令還是沒打印任何東西出來(你會看到藍(lán)牙模塊的燈閃的很快),這個(gè)時(shí)候,你再用杜邦線把藍(lán)牙模塊的KEY接單片機(jī)的5v,再把開發(fā)板的電源開關(guān)按一下,斷電,再按一下開關(guān),通電。這個(gè)時(shí)候,你會看到燈閃的很慢,再把波特率調(diào)成38400,發(fā)送AT指令,你就會看到對應(yīng)的數(shù)據(jù)被打印出來。發(fā)送AT指令成功了。
對于手機(jī)連接藍(lán)牙模塊,你就把藍(lán)牙模塊插入到插口里,下載相應(yīng)的程序,調(diào)成ROLE:SlaveSTA:Disconnect,這個(gè)時(shí)候你打開下載好的藍(lán)牙app連接就行了。這里我遇到了一個(gè)問題,就是手機(jī)app搜索不到這個(gè)藍(lán)牙模塊,這個(gè)應(yīng)該是藍(lán)牙app的問題,你去百度上再搜索一個(gè)藍(lán)牙app下載,我重新下載了一個(gè),就連接上了,通信成功了。