STM32WB55_NUCLEO开发(2)----使用STM32CubeMX 生成的简单 BLE 应用程序连接手机APP
STM32WB55_NUCLEO開發.2----使用STM32CubeMX 生成的簡單 BLE 應用程序連接手機APP
- 概述
- 硬件準備
- 視頻教學
- 源碼下載
- 選擇芯片型號
- 配置時鐘源
- 配置時鐘樹
- 查看開啟STM32_WPAN條件
- 配置HSEM
- 配置IPCC
- 配置RTC
- 啟動RF
- 配置USART
- 開啟STM32_WPAN
- 設置工程信息
- 工程文件設置
- Keil工程配置
- 代碼配置
- 結果演示
- 源碼下載
- 最后
概述
本篇文章主要介紹如何使用STM32CubeMX對生成STM32WB工程,并通過手機APP與其連接。
硬件準備
首先需要準備一個開發板,這里我準備的是NUCLEO-WB55RG 的開發板:
視頻教學
聽不到聲音的請點擊跳轉進行觀看。
https://www.bilibili.com/video/BV17Z4y1z7ng/
STM32WB55
源碼下載
https://download.csdn.net/download/qq_24312945/85049386
選擇芯片型號
配置時鐘源
HSE與LSE分別為外部高速時鐘和低速時鐘,在本文中使用外置的時鐘源,故都選擇Crystal/Ceramic Resonator選項,如下所示:
配置時鐘樹
查看開啟STM32_WPAN條件
可以看到,需要開啟RF、RTC、RCC、IPCC、HSEM。
配置HSEM
硬件信號量(HSEM)模塊用于管理多個進程之間共享的訪問權限和資源同步。
資料下載鏈接:https://www.stmcu.jp/wp/wp-content/uploads/files/presentation-ja/STM32WB/17_STM32WB-System-Hardware-Semaphore-(HSEM)_J.pdf
開啟HSEM如下。
配置IPCC
通信控制器(IPCC)模塊的主要用于cpu之間的信號消息交換。
資料下載鏈接:https://www.st.com/content/ccc/resource/training/technical/product_training/group0/d3/17/dc/8a/bf/ef/4f/10/STM32WB-System-Inter-Processor-communication-controller-IPCC/files/STM32WB-System-Inter-Processor-communication-controller-IPCC.pdf/jcr:content/translations/en.STM32WB-System-Inter-Processor-communication-controller-IPCC.pdf
開啟如下所示。
配置RTC
啟動RF
配置USART
我們需要串口來打印數據,以方便我們查看信息。
查看原理圖可以的是PB6和PB7與ST_Link鏈接在一起,且為串口打印端口。
開啟DMA。
開啟中斷。
開啟STM32_WPAN
無線個人區域網(wireless personal area network)。
由于我們使用的是藍牙,故勾選BLE。
配置自定義模板。
設置串口1跟蹤。
關閉MX_USART1_UART_Init函數的生成。
啟用串口1的tx的DMA。
啟動串口1調試跟蹤。
啟用應用程序中的跟蹤 。
設置藍牙名稱,名稱為MY_BLE_DEV。
設置服務器配置。
設置特征名稱。
使能特征值讀取。
關閉GATT事件的返回。
設置RTC和RF的時鐘。
設置工程信息
工程文件設置
Keil工程配置
代碼配置
在main.c中添加如下頭文件。
/* USER CODE BEGIN Includes */ #include "stm32_seq.h" /* USER CODE END Includes */UTIL_SEQ_Run(UTIL_SEQ_DEFAULT)函數應該在應用程序的while循環中,啟動任務調度。
/* USER CODE BEGIN WHILE */while (1){/* USER CODE END WHILE */MX_APPE_Process();/* USER CODE BEGIN 3 */UTIL_SEQ_Run(UTIL_SEQ_DEFAULT);}/* USER CODE END 3 */ }在app_entry.c中添加初始化 APPD_Init()。
void MX_APPE_Init( void ) {System_Init( ); /**< System initialization */SystemPower_Config(); /**< Configure the system Power Mode */HW_TS_Init(hw_ts_InitMode_Full, &hrtc); /**< Initialize the TimerServer *//* USER CODE BEGIN APPE_Init_1 */APPD_Init(); /* USER CODE END APPE_Init_1 */appe_Tl_Init(); /* Initialize all transport layers *//*** From now, the application is waiting for the ready event ( VS_HCI_C2_Ready )* received on the system channel before starting the Stack* This system event is received with APPE_SysUserEvtRx()*/ /* USER CODE BEGIN APPE_Init_2 *//* USER CODE END APPE_Init_2 */return; }結果演示
下載完程序后,可以看到串口打印固件版本等信息。
打開ST BLE ToolBox軟件(APP在群內有615061293),可以看到該藍牙已經可以搜索到。
點擊connect進行連接。
連接之后可以看到串口打印了連接事件。
同時手機也顯示該藍牙模塊連接成功。
源碼下載
https://download.csdn.net/download/qq_24312945/85049386
最后
以上的代碼會在Q群里分享。QQ群:615061293。
或者關注微信公眾號『記帖』,持續更新文章和學習資料,可加作者的微信交流學習!
總結
以上是生活随笔為你收集整理的STM32WB55_NUCLEO开发(2)----使用STM32CubeMX 生成的简单 BLE 应用程序连接手机APP的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: springboot怎样扫描与启动类非同
- 下一篇: 会计职称考试等级分类