概述
在STM32WB55系列微控制器上進行開發(fā)時,實時監(jiān)控應(yīng)用程序的運行情況和調(diào)試潛在問題是至關(guān)重要的。使用串口(USART/UART)進行Debug信息打印是一種簡便、高效的方法。下面是如何在STM32WB55上配置串口來打印調(diào)試信息的概述。
最近在弄ST的課程,需要樣片的可以加群申請:615061293 。
硬件準(zhǔn)備
首先需要準(zhǔn)備一個開發(fā)板,這里我準(zhǔn)備的是WB55RG 的開發(fā)板:
視頻教學(xué)
[https://www.bilibili.com/video/BV16h4y1w7WT/]
樣品申請
[https://www.wjx.top/vm/OhcKxJk.aspx#]
源碼下載
[https://download.csdn.net/download/qq_24312945/88346884]
選擇芯片型號

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

RTC時鐘配置

RFWKP時鐘配置

查看開啟STM32_WPAN條件
可以看到,需要開啟RF、RTC、RCC、IPCC、HSEM。
配置HSEM
硬件信號量(HSEM)模塊用于管理多個進程之間共享的訪問權(quán)限和資源同步。
開啟HSEM如下。
配置IPCC
通信控制器(IPCC)模塊的主要用于cpu之間的信號消息交換。
開啟如下所示。

配置RTC

啟動RF

開啟藍牙

開啟串口調(diào)試
CFG_HW_USART1_ENABLED允許開發(fā)者選擇是否使用USART1作為跟蹤輸出的通道,并且這個配置只在特定的設(shè)置下可用。這樣的配置通常用于嵌入式系統(tǒng)的調(diào)試,使得開發(fā)者可以實時查看設(shè)備的狀態(tài)和輸出信息。
CFG_HW_USART1_ENABLED這是一個配置標(biāo)志,當(dāng)設(shè)置為啟用時,USART1會被用作輸出跟蹤的通道。當(dāng)禁用時,USART1不會用于這個目的。
僅當(dāng)USART1由CubeMX用戶界面配置時,此特定的硬件配置才可用:這意味著只有在使用ST的CubeMX工具配置USART1時,才可以使用CFG_HW_USART1_ENABLED這一特定的配置選項。
查看原理圖可以的是PA9和PA10與CH340鏈接在一起,且為串口打印端口。

串口配置如下。
開啟CFG_HW_USART1_ENABLED。
關(guān)閉MX_USART1_UART_Init函數(shù)的生成。
CFG_HW_USART1_DMA_TX_SUPPORTED允許開發(fā)者啟用USART1的DMA發(fā)送功能。啟用此功能可以提高USART1發(fā)送數(shù)據(jù)時的效率,但在配置上可能需要更多的步驟和注意事項。
當(dāng)其被設(shè)置為啟用時,USART1將使用DMA來進行數(shù)據(jù)發(fā)送(TX)。DMA允許數(shù)據(jù)從內(nèi)存直接發(fā)送到外設(shè)(在這種情況下是USART1),而不需要CPU的干預(yù),從而提高效率和數(shù)據(jù)傳輸速度。
開啟DMA。
開啟中斷。

啟用串口1的tx的DMA。

若無法開啟可以重新打開BLE配置。

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

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

配置藍牙參數(shù)
配置為自定義模板。
命名設(shè)備名

配置BLE GATT

配置SVC
設(shè)置工程信息

工程文件設(shè)置

Keil工程配置

代碼配置
在main.c中添加如下頭文件。
/* USER CODE BEGIN Includes */
#include "stm32_seq.h"
/* USER CODE END Includes */
UTIL_SEQ_Run(UTIL_SEQ_DEFAULT)函數(shù)應(yīng)該在應(yīng)用程序的while循環(huán)中,啟動任務(wù)調(diào)度。
/* 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;
}
結(jié)果演示
在app_ble.c中,數(shù)組a_AdvData定義了設(shè)備名稱。
將設(shè)備設(shè)置為一般可發(fā)現(xiàn)模式,若成功會打印如下參數(shù)。
串口打印如下所示。

-
藍牙
+關(guān)注
關(guān)注
119文章
6399瀏覽量
179373 -
BLE
+關(guān)注
關(guān)注
13文章
813瀏覽量
66596 -
配置
+關(guān)注
關(guān)注
1文章
194瀏覽量
19515 -
串口打印
+關(guān)注
關(guān)注
0文章
11瀏覽量
3354 -
STM32WB55
+關(guān)注
關(guān)注
0文章
26瀏覽量
2225
發(fā)布評論請先 登錄
STM32WB55開發(fā)(1)----套件概述
STM32WB55開發(fā)板單板設(shè)計
STM32WB55是如何在RT-Thread系統(tǒng)上移植的
STM32WB55的相關(guān)資料推薦
STM32WB55如何檢測/調(diào)試P-NUCLEO-WB55.Nucleo的BLE_p2pServer中的read_event示例代碼
如何控制stm32wb55的電源呢
是否可以將MAC層代碼集成到STM32WB55中?
STM32WB55單片機的PCB和電路圖合集免費下載
STM32WB55開發(fā)板(一)單板設(shè)計-硬件介紹
STM32WB55 藍牙協(xié)議棧運行流程解析
STM32WB55在RT-Thread系統(tǒng)上移植官方藍牙BLE功能
stm32wb55 基于rtt的ble sample制作過程
STM32WB55 用 cubemx 生成串口打印
STM32WB55開發(fā)(4)----配置串口打印Debug調(diào)試信息
評論