HC-05藍(lán)牙模塊串口通信失敗遇到的一種特殊問(wèn)題的解決方法及實(shí)現(xiàn)和手機(jī)通信
本文發(fā)現(xiàn)了一種串口通信失敗的特殊情況,希望可以耐心看完,對(duì)讀者有所幫助
今日,我打算做一個(gè)stm32平衡小車(chē)的項(xiàng)目,搭載藍(lán)牙模塊以及超聲波等等,然后我發(fā)現(xiàn)我的藍(lán)牙模塊可以跟手機(jī)正常通信,但是當(dāng)我把所有模塊集成好之后就不可以了,即使是單片機(jī)與電腦通信也不可以,于是乎尋找問(wèn)題所在。
? 首先我的藍(lán)牙模塊單獨(dú)使用是沒(méi)問(wèn)題的,那么我就將其余模塊跟藍(lán)牙模塊單獨(dú)的搭配,看看是誰(shuí)的影響,如下:
然后我找到問(wèn)題所在,是 在我加上Encoder_TIM4_Init();這句后不能用了。但是這是從Encoder_TIM2_Init();復(fù)制過(guò)來(lái)修改了一下io口的,怎么前者有影響,后者沒(méi)有影響呢?
于是乎我打開(kāi)這段代碼仔細(xì)研究,發(fā)現(xiàn)沒(méi)有任何的問(wèn)題。在我心灰意冷之際,我忽然靈光一現(xiàn),打開(kāi)了 STM32F103xCDE_數(shù)據(jù)手冊(cè),發(fā)現(xiàn)了問(wèn)題所在:


原來(lái)TIM4的CH1和CH2是在PB6和PB7上,同時(shí)這兩個(gè)也可以復(fù)用為USART1的TX和RX引腳
?所以我在初始化USART1的時(shí)候就打開(kāi)了PB6和PB7的gpio復(fù)用功能,這時(shí)候我再初始化TIM4就造成了影響,PB6和PB7與USART1連接,導(dǎo)致串口通信失敗,于是乎我把TIM4用到的這兩個(gè)引腳使用gpio復(fù)用功能配置成D14和D15,問(wèn)題解決。成功與電腦通信。

如果使用藍(lán)牙模塊與手機(jī)通信的話 ,一定要把波特率設(shè)置成9600?。?/p>
如果使用藍(lán)牙模塊與手機(jī)通信的話 ,一定要把波特率設(shè)置成9600?。?/p>
如果使用藍(lán)牙模塊與手機(jī)通信的話 ,一定要把波特率設(shè)置成9600!!
如果使用藍(lán)牙模塊與手機(jī)通信的話 ,一定要把波特率設(shè)置成9600??!
如果使用藍(lán)牙模塊與手機(jī)通信的話 ,一定要把波特率設(shè)置成9600??!

學(xué)會(huì)閱讀資料,自己可以解決很多問(wèn)題。
問(wèn)題解決,希望對(duì)你有所幫助。