STM32WB55RG开发(1)----开发板测试

描述

概述

STM32WB55 & SENSOR是一款基于STM32WB55系列微控制器的评估套件。该套件采用先进的无线通信技术,支持Bluetooth® 5.3规范、IEEE 802.15.4-2011 PHY和MAC,支持Thread和Zigbee® 3.0 ,为开发人员打开了广阔的物联网和智能设备应用领域。此外,该套件具有丰富的接口和外设,以及传感器(SENSOR)系列连接器接口,方便用户进行各种硬件连接和外设扩展。

这里通过配置LED和UART输出进行简单测试。

最近在弄ST的教程,需要样片的可以加群申请:615061293/925643491 。

硬件准备

首先需要准备一个开发板,这里我准备的是自己绘制的开发板,需要的可以进行申请。 主控为STM32WB55RGV6

开发板

视频教学

https://www.bilibili.com/video/BV1o2DzYrE59/

样品申请

https://www.wjx.top/vm/OhcKxJk.aspx#

源码下载

https://download.csdn.net/download/qq_24312945/90044063

产品特性

STM32WB55xx和STM32WB35xx多协议无线和超低功耗器件内嵌功能强大的超低功耗无线电模块(符合蓝牙® 低功耗SIG规范5.0和IEEE 802.15.4-2011标准)。该器件内含专用的Arm® Cortex® -M0+,用于执行所有的底层实时操作。

这些器件基于高性能Arm® Cortex®-M4 32位RISC内核(工作频率可达64 MHz),旨在实现超低功耗。该内核带有单精度浮点运算单元(FPU),支持所有ARM®单精度数据处理指令和数据类型。它还具备DSP指令集和增强应用安全的内存保护单元(MPU)。

IPCC提供有六个双向通道的增强型处理器间通信。HSEM提供硬件信号量,用于在两个处理器之间共享公共资源。

这些器件内嵌高速存储器(最高1 MB Flash存储器用于STM32WB55xx、最高512 KB用于STM32WB35xx、最高256 KB的SRAM用于STM32WB55xx、96 KB用于STM32WB35xx)、一个Quad-SPI Flash存储器接口(可采用所有封装),以及广泛的增强型I/O和外设。

开发板

参考程序

https://github.com/CoreMaker-lab/STM32WB55_SENSOR

https://gitee.com/CoreMaker/STM32WB55_SENSOR

生成STM32CUBEMX

用STM32CUBEMX生成例程,这里使用MCU为STM32WB55RGV6。 配置时钟树,配置时钟为最大速率。

开发板

串口配置

查看原理图,PB6和PB7设置为开发板的串口。

开发板

配置串口,速率为115200。

开发板

LED配置

查看原理图,对应LED分别为PB0,PB1,PB5。

开发板

配置如下所示。

开发板

堆栈设置

开发板

若无法正常运行需要修改优化等级。

开发板

串口重定向

打开魔术棒,勾选MicroLIB

开发板

在main.c中,添加头文件,若不添加会出现 identifier "FILE" is undefined报错。

/* USER CODE BEGIN Includes */
#include "stdio.h"
/* USER CODE END Includes */

函数声明和串口重定向:

/* USER CODE BEGIN PFP */
int fputc(int ch, FILE *f){
    HAL_UART_Transmit(&huart1 , (uint8_t *)&ch, 1, 0xFFFF);
    return ch;
}
/* USER CODE END PFP */

主循环

/* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
        HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_SET);        
        HAL_GPIO_WritePin(LED2_GPIO_Port, LED2_Pin, GPIO_PIN_SET);            
        HAL_GPIO_WritePin(LED3_GPIO_Port, LED3_Pin, GPIO_PIN_SET);        
        printf("LED ON!n");
        HAL_Delay(1000);
        HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_RESET);        
        HAL_GPIO_WritePin(LED2_GPIO_Port, LED2_Pin, GPIO_PIN_RESET);            
        HAL_GPIO_WritePin(LED3_GPIO_Port, LED3_Pin, GPIO_PIN_RESET);        
        printf("LED OFF!n");        
        HAL_Delay(1000);
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */

演示

开发板

审核编辑 黄宇

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分