STM32WB55开发(4)----配置串口打印Debug调试信息

概述在stm32wb55系列微控制器上进行开发时,实时监控应用程序的运行情况和调试潜在问题是至关重要的。使用串口(usart/uart)进行debug信息打印是一种简便、高效的方法。下面是如何在stm32wb55上配置串口来打印调试信息的概述。
最近在弄st的课程,需要样片的可以加群申请:615061293 。
硬件准备首先需要准备一个开发板,这里我准备的是wb55rg 的开发板:
视频教学[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)模块用于管理多个进程之间共享的访问权限和资源同步。
开启hsem如下。
配置ipcc通信控制器(ipcc)模块的主要用于cpu之间的信号消息交换。
开启如下所示。
配置rtc
启动rf
开启蓝牙
开启串口调试cfg_hw_usart1_enabled允许开发者选择是否使用usart1作为跟踪输出的通道,并且这个配置只在特定的设置下可用。这样的配置通常用于嵌入式系统的调试,使得开发者可以实时查看设备的状态和输出信息。
cfg_hw_usart1_enabled这是一个配置标志,当设置为启用时,usart1会被用作输出跟踪的通道。当禁用时,usart1不会用于这个目的。
仅当usart1由cubemx用户界面配置时,此特定的硬件配置才可用:这意味着只有在使用st的cubemx工具配置usart1时,才可以使用cfg_hw_usart1_enabled这一特定的配置选项。
查看原理图可以的是pa9和pa10与ch340链接在一起,且为串口打印端口。
串口配置如下。
开启cfg_hw_usart1_enabled。
关闭mx_usart1_uart_init函数的生成。
cfg_hw_usart1_dma_tx_supported允许开发者启用usart1的dma发送功能。启用此功能可以提高usart1发送数据时的效率,但在配置上可能需要更多的步骤和注意事项。
当其被设置为启用时,usart1将使用dma来进行数据发送(tx)。dma允许数据从内存直接发送到外设(在这种情况下是usart1),而不需要cpu的干预,从而提高效率和数据传输速度。
开启dma。
开启中断。
启用串口1的tx的dma。
若无法开启可以重新打开ble配置。
启动串口1调试跟踪。
启用应用程序中的跟踪 。
配置蓝牙参数配置为自定义模板。
命名设备名
配置ble gatt
配置svc
设置工程信息
工程文件设置
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;}结果演示在app_ble.c中,数组a_advdata定义了设备名称。
将设备设置为一般可发现模式,若成功会打印如下参数。
串口打印如下所示。

3D超声波传感器助力提高自动驾驶汽车目标探测能力
pcf8563和ds1302有什么区别_哪个比较好
无人机自组网关键技术有哪些
可重配置加速堆栈的目标应用是超大型数据中心和FPGA加速应用
异步和同步电路的区别 同步时序设计规则
STM32WB55开发(4)----配置串口打印Debug调试信息
华为2款“神品级”旗舰! 如今降至冰点价
随着5G时代的来临 硅光芯片市场发展的难题会慢慢迎刃而解
Microchip推出了全球首款基于RISC-V的强化型实时微处理器子系统
余热发电工艺流程图_余热发电如何提高发电量
光盘销毁机的处理速度
在SaberRD中导出FMU的步骤详解
六种延时电路的工作原理
微服务的核心特性有哪些,如何进行测试
遥感三十六号卫星发射成功 长二丁30年连胜70发
360官方发布路由器新品,WiFi覆盖全屋无缝切换好信号
LG电子公司计划明年销售可以像画轴一样卷起来的大屏幕电视
iphone8什么时候上市?iphone8最新消息:iphone8真机爆光,这个功能大家没想到,苹果系颜值担当,库克要火!
笔记本使用五大法则(一分钟做高手)
浅谈嵌入式与纯软开发的区别