本帖最后由 聪聪哥哥 于 2024-11-23 15:59 编辑
前言:在自己的工作之余,有幸参加21 IC论坛举办的ST公司推出的STM32WB09KE开发板的测评活动,接下来和大家分享一下,在测评活动中遇到的问题和解决的方案。自己呢也是第一次接触使用STM32官方推出的这款开发板,简单和大家介绍一下:
STM32WB09是一款超低功耗的蓝牙低功耗无线SOC,而该款开发板又是一款内部符合蓝牙低功耗SIG规范,功能强大且超低功耗 无线电模块。内部内arm-cortex M0内核微处理器及协处理器,安全硬件支持强,可配置多种应用,存储与数据传输出色,功能丰富,通讯接口丰富多样等等优点。
二:硬件的准备:
在学习STM32单片机的时候,建议大家使用 STM32cube MX软件。一款强大的图形化配置软件,用户可以使用该软件初始化控制器外设,比如:GPIO的配置,硬件IIC驱动、硬件的SPI配置、ADC、DAC、UART、TIME、PWM等等,在CUBE中都可以都可以自动生成,可谓是非常方便。不过需要注意的是这里需要使用最新版的CUBE软件,要不是找不到改款新品的
使用的开发工具:KEIL5.38A,STM32 CUBE、STM32 cube programmer软件;
首先和大家分享一下,在收到该开发板时候,不能正常烧录代码的原因:主要是开发板出厂时时候烧录了低功耗的模式,在低功耗模式下单片机的调试引脚swd引脚不工作,这里我们就需要使用STM32 cube programmer软件、配合官方的软件RF-FLASHER RTILITY擦除一下芯片的内部的DEMO就可以了;
2.1 首先升级一下版本ST-LINK V3的板载固件,方法如下:
设置MODE位,under reset 和 RESET MODE 位 hardware reset 位;
2.2下载最新版本的RF-FLASHER UTILITY 软件,安装串口之后,使用软件对芯片进行擦除出厂的DEMO 就可以了。
三、点亮板载的LED灯:
使用cube软件生成驱动代码:
打开debug调试口,否则烧录之后不能使用SWD烧录代码了。
GPIO口配置
时钟配置:这里为了简单调试,直接使用内部高速时钟进行配置。
3.1 查看一下官方的原理图:
3.2 可以使用CUBE 软件生成GPIO口的测试程序就可以了
这里只需要注意下配置好GPIO口的工作模式,使用系统的延时函数对GPIO口操作就可以了
初始化板载LED1\LED2\LED3 GPIO口的初始化代码如下:
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_PULLUP;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
GPIO_InitStruct.Pin = GPIO_PIN_1| GPIO_PIN_2 | GPIO_PIN_4;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
主程序代码如下:
HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_1);
/* Insert delay 100 ms */
HAL_Delay(100);
HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_2);
/* Insert delay 100 ms */
HAL_Delay(100);
HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_4);
/* Insert delay 100 ms */
HAL_Delay(100);
/* USER CODE BEGIN 3 */
图片演示如下:
生成的底层代码如下:
|