0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

嵌入式单片机MCU开发 来源:嵌入式单片机MCU开发 作者:嵌入式单片机MCU开 2023-12-01 15:48 次阅读

概述

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定义了设备名称。
在这里插入图片描述

将设备设置为一般可发现模式,若成功会打印如下参数。
在这里插入图片描述

串口打印如下所示。

在这里插入图片描述

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 蓝牙
    +关注

    关注

    114

    文章

    5742

    浏览量

    169466
  • BLE
    BLE
    +关注

    关注

    12

    文章

    646

    浏览量

    59286
  • 配置
    +关注

    关注

    1

    文章

    187

    浏览量

    18330
  • 串口打印
    +关注

    关注

    0

    文章

    10

    浏览量

    3076
  • STM32WB55
    +关注

    关注

    0

    文章

    25

    浏览量

    1289
收藏 人收藏

    评论

    相关推荐

    STM32WB55开发(1)----套件概述

    所使用的器件是我们自行设计的开发板,该开发板是基于 STM32WB55 系列微控制器所构建。STM32WBXX_VFQFPN68 不仅是一款评估套件,它还集成了众多现代化的无线通信技术
    的头像 发表于 12-01 15:40 1433次阅读
    <b class='flag-5'>STM32WB55</b><b class='flag-5'>开发</b>(1)----套件概述

    STM32WB55开发板单板设计

    STM32WB55开发板(一)单板设计-硬件介绍目录STM32WB55开发板(一)单板设计-硬件介绍前言简介参数介绍MCU方面开发板方面
    发表于 08-06 08:15

    STM32WB55是如何在RT-Thread系统上移植的

    STM32WB55在RT-Thread系统上移植官方蓝牙BLE功能硬件环境:(1)开发板:ST官方的stm32wb55-st-nucleo开发板软件环境:(1)
    发表于 08-24 07:20

    STM32WB55开发板的功能是什么?

    STM32WB55开发板的功能是什么?
    发表于 11-08 06:36

    STM32WB55的相关资料推荐

    STM32WB55 蓝牙协议栈运行流程解析简介STM32WB55是ST公司近期推出的一颗双核(M0+M4)无线MCU,主要应用在BLE领域,同时也可以运行thread和zigbee等无线协议栈。协议
    发表于 02-07 08:47

    STM32WB55如何检测/调试P-NUCLEO-WB55.Nucleo的BLE_p2pServer中的read_event示例代码

    先生,的我正在使用 STM32WB55 开发项目并从 STM32Cube_FW_WB_V1.14.0\Projects\P-NUCLEO-WB55.Nucleo\Application
    发表于 12-07 06:30

    如何控制stm32wb55的电源呢

    我想了解如何控制 stm32wb55 的电源。我正在运行来自最新 stm32cube 的 PWR_STANDBY_RTC 示例。在待机状态下,我正在读取 900 uA。这似乎很高。我应该期待什么?
    发表于 12-20 07:24

    是否可以将MAC层代码集成到STM32WB55中?

    我正在使用 STM32WB55 微控制器,我在其中使用 BLE 并将我的主程序与我正在实现的代码集成在一起。 另一方面,我需要使用 LoRaWAN,为此我使用了 HOPERF RFM95 模块,其中
    发表于 12-27 08:36

    请问STM32WB55如何修改CPU2区?

    STM32WB55如何修改CPU2区?
    发表于 12-28 13:18

    STM32WB55单片机的PCB和电路图合集免费下载

    本文档的主要内容详细介绍的是STM32WB55单片机的PCB和电路图合集免费下载。
    发表于 12-16 08:00 86次下载
    <b class='flag-5'>STM32WB55</b>单片机的PCB和电路图合集免费下载

    STM32WB55开发板(一)单板设计-硬件介绍

    STM32WB55开发板(一)单板设计-硬件介绍目录STM32WB55开发板(一)单板设计-硬件介绍前言简介参数介绍MCU方面开发板方面
    发表于 12-01 18:06 20次下载
    <b class='flag-5'>STM32WB55</b><b class='flag-5'>开发</b>板(一)单板设计-硬件介绍

    STM32WB55 蓝牙协议栈运行流程解析

    STM32WB55 蓝牙协议栈运行流程解析简介STM32WB55是ST公司近期推出的一颗双核(M0+M4)无线MCU,主要应用在BLE领域,同时也可以运行thread和zigbee等无线协议栈。协议
    发表于 12-04 12:36 17次下载
    <b class='flag-5'>STM32WB55</b> 蓝牙协议栈运行流程解析

    STM32WB55在RT-Thread系统上移植官方蓝牙BLE功能

    STM32WB55在RT-Thread系统上移植官方蓝牙BLE功能硬件环境:(1)开发板:ST官方的stm32wb55-st-nucleo开发板软件环境:(1)
    发表于 12-04 12:51 17次下载
    <b class='flag-5'>STM32WB55</b>在RT-Thread系统上移植官方蓝牙BLE功能

    stm32wb55 基于rtt的ble sample制作过程

    stm32wb55 基于rtt的ble sample制作过程准备活动硬件stm32wb55 nucleo开发stm32wb55 dangle软件rtthread
    发表于 12-20 19:39 13次下载
    <b class='flag-5'>stm32wb55</b> 基于rtt的ble sample制作过程

    STM32WB55 用 cubemx 生成串口打印

    1、设置Connectivity2、带蓝牙工程的打印配置添加用户代码a.添加头文件 “app_debug.h”/* USER CODE BEGIN Includes */#include
    发表于 12-24 19:07 1次下载
    <b class='flag-5'>STM32WB55</b> 用 cubemx 生成<b class='flag-5'>串口</b><b class='flag-5'>打印</b>