STM32WB55_NUCLEO開(kāi)發(fā)(2)----使用STM32CubeMX 生成的簡(jiǎn)單 BLE 應(yīng)用程序連接手機(jī)APP
概述
本篇文章主要介紹如何使用STM32CubeMX對(duì)生成STM32WB工程,并通過(guò)手機(jī)APP與其連接。

硬件準(zhǔn)備
首先需要準(zhǔn)備一個(gè)開(kāi)發(fā)板,這里我準(zhǔn)備的是NUCLEO-WB55RG 的開(kāi)發(fā)板:

視頻教學(xué)
聽(tīng)不到聲音的請(qǐng)點(diǎn)擊跳轉(zhuǎn)進(jìn)行觀看。
https://www.bilibili.com/video/BV17Z4y1z7ng/

源碼下載
https://download.csdn.net/download/qq_24312945/85049386
選擇芯片型號(hào)

配置時(shí)鐘源
HSE與LSE分別為外部高速時(shí)鐘和低速時(shí)鐘,在本文中使用外置的時(shí)鐘源,故都選擇Crystal/Ceramic Resonator選項(xiàng),如下所示:

配置時(shí)鐘樹(shù)

查看開(kāi)啟STM32_WPAN條件
可以看到,需要開(kāi)啟RF、RTC、RCC、IPCC、HSEM。

配置HSEM
硬件信號(hào)量(HSEM)模塊用于管理多個(gè)進(jìn)程之間共享的訪問(wèn)權(quán)限和資源同步。

資料下載鏈接:https://www.stmcu.jp/wp/wp-content/uploads/files/presentation-ja/STM32WB/17_STM32WB-System-Hardware-Semaphore-(HSEM)_J.pdf
開(kāi)啟HSEM如下。

配置IPCC
通信控制器(IPCC)模塊的主要用于cpu之間的信號(hào)消息交換。

資料下載鏈接: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
開(kāi)啟如下所示。

配置RTC

啟動(dòng)RF

配置USART
我們需要串口來(lái)打印數(shù)據(jù),以方便我們查看信息。
查看原理圖可以的是PB6和PB7與ST_Link鏈接在一起,且為串口打印端口。


開(kāi)啟DMA。

開(kāi)啟中斷。

開(kāi)啟STM32_WPAN
無(wú)線個(gè)人區(qū)域網(wǎng)(wireless personal area network)。
由于我們使用的是藍(lán)牙,故勾選BLE。

配置自定義模板。

設(shè)置串口1跟蹤。

關(guān)閉MX_USART1_UART_Init函數(shù)的生成。

啟用串口1的tx的DMA。

啟動(dòng)串口1調(diào)試跟蹤。

啟用應(yīng)用程序中的跟蹤 。

設(shè)置藍(lán)牙名稱,名稱為MY_BLE_DEV。

設(shè)置服務(wù)器配置。

設(shè)置特征名稱。

使能特征值讀取。

關(guān)閉GATT事件的返回。

設(shè)置RTC和RF的時(shí)鐘。

設(shè)置工程信息

工程文件設(shè)置

Keil工程配置

代碼配置
在main.c中添加如下頭文件。
UTIL_SEQ_Run(UTIL_SEQ_DEFAULT)函數(shù)應(yīng)該在應(yīng)用程序的while循環(huán)中,啟動(dòng)任務(wù)調(diào)度。
在app_entry.c中添加初始化 APPD_Init()。
結(jié)果演示
下載完程序后,可以看到串口打印固件版本等信息。

打開(kāi)ST BLE ToolBox軟件(APP在群內(nèi)有615061293),可以看到該藍(lán)牙已經(jīng)可以搜索到。

點(diǎn)擊connect進(jìn)行連接。
連接之后可以看到串口打印了連接事件。

同時(shí)手機(jī)也顯示該藍(lán)牙模塊連接成功。

源碼下載
https://download.csdn.net/download/qq_24312945/85049386
最后
以上的代碼會(huì)在Q群里分享。QQ群:615061293。
或者關(guān)注微信公眾號(hào)『記帖』,持續(xù)更新文章和學(xué)習(xí)資料,可加作者的微信交流學(xué)習(xí)!
