本實驗利用信馳達的藍牙模塊進行串口的收發任務,stm32f103用的是串口1,手機APP用的是LighntBlue,藍牙名字為Vence,stm32開發板為中國移動的OneNet開發板
①連線
藍牙模塊 stm32f103
VCC VCC
GND GND
EN PC10
RX TX1
TX RX1
BRTS GND
P04 PC7
P05 PC8
②藍牙模塊的工作模式
啟動藍牙模塊需要將EN置0,BRTS置0,接上電源,就開始廣播模式
當連接成功時,P04為高電平,P05為低電平
利用stm32啟動的方式為,接上電源,按下Key1鍵盤,此時藍燈,紅燈,黃燈亮起;
紅燈亮,綠燈滅,還沒有連接成功,如果紅燈滅,綠燈亮就代表已經連接成功
③stm32發送固定數據到手機APP
{0x67,0x6c,0x75,0x05,0x20}
通過按下stm32的按鍵1,也就是PC13口,會發送數據到手機,此時黃燈如果是滅的狀態,就改為亮,如果是亮的狀態就改為滅
④手機APP發送數據到stm32
如果手機發送的一個字節為0x01,通過代碼判斷是0x01的話,黃燈的狀態就會取反
原理圖:
原理圖.png (335.77 KB, 下載次數: 66)
下載附件
2019-10-17 09:16 上傳
啟動狀態指示燈:接通電源,按下key1,紅、黃、藍色同亮
啟動.jpg (1.8 MB, 下載次數: 73)
下載附件
2019-10-17 09:19 上傳
LightBlue搜索到Vence藍牙名字:Vence
搜索.png (175.17 KB, 下載次數: 66)
下載附件
2019-10-17 09:20 上傳
點擊連接,連接成功后,指示燈變為藍、黃、綠
指示燈.jpg (1.83 MB, 下載次數: 69)
下載附件
2019-10-17 09:23 上傳
app的0xFFE4端口開啟接收數據,按下Key1,發送指令的數據{0x67,0x6c,0x75,0x05,0x20}到app,此時黃燈狀態取反,APP收到數據
1.png (159.92 KB, 下載次數: 67)
下載附件
2019-10-17 09:26 上傳
2.png (169.99 KB, 下載次數: 71)
下載附件
2019-10-17 09:26 上傳
在APP的0XFFE9端口輸入0x01,stm32判斷后,黃燈的狀態取反
3.png (109.82 KB, 下載次數: 66)
下載附件
2019-10-17 09:28 上傳
stm32主函數代碼:
- //本設計利用信馳達進行藍牙通信,stm32的PC10控制藍牙模塊的使能,藍牙模塊的工作電壓范圍在1.8-3.3V,具有低功耗
- #include "stm32f10x.h"
- #include "usart1.h"
- #include "bluetooth.h"
- #include "key.h"
- #include "led.h"
- u8 GLU[5] = {0x67,0x6c,0x75,0x05,0x20};
- int main(void)
- {
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //中斷控制器分組設置
- Key_Init(); //初始化按鍵
- EXTI_Configuration();
- Usart1_Init(115200); //設置串口1的波特率為115200bit
- LedInit(); //初始化led
- Delay_Init(); //初始化延遲函數
- BlueTooth_Init(); //初始化藍牙模塊
- USART_Cmd(USART1, DISABLE); //除能串口
- while(1)
- {
- USART_ClearFlag( USART1, USART_FLAG_TC );
- if(send_flag == 1)
- {
- USART_Cmd(USART1, ENABLE); //除能串口
- GPIO_ResetBits(GPIOC,EN); //使能藍牙模塊
- DelayMs(20); //啟動藍牙模塊延遲20ms
- while(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_7) != Bit_SET || GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_8) != Bit_RESET);
- Usart_SendString(USART1, GLU);
- //GPIO_SetBits(GPIOC,EN); //發送完數據除能藍牙模塊
- DelayMs(20); //啟動藍牙模塊延遲20ms
- send_flag = 0;
- //USART_Cmd(USART1, DISABLE); //除能串口
- }
- }
- }
復制代碼
全部資料51hei下載地址:
資料(藍牙模塊說明書,OneNet開發板原理圖,源碼).7z
(2.35 MB, 下載次數: 35)
2019-10-17 15:47 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|