自学内容网 自学内容网

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/

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

样品申请

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

源码下载

产品特性

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 */

演示

在这里插入图片描述


原文地址:https://blog.csdn.net/qq_24312945/article/details/143673551

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!