首先感谢电子产品世界举办的 Let us do 活动,这次活动的主板是STM32WBA55CG开发板。自己也很荣幸参加这次的DIY活动,使在工作之余,可以对ST公司的蓝牙技术有一定的了解和学习。
图形化配置软件:STM32cube ver6.13.0(注意低版本软件没有WBA55的芯片,需要更新一下)
编程软件:我这边编译环境使用的是keil 5.38a 的版本。
一:本次学习的目标
1: STM32WBA55 PWM控制LED灯亮度
2 :STM32WBA55 ADC采集电池电压
3 :STM32WBA55 蓝牙调调试助手使用
4 :STM32WBA55 蓝牙小台灯综合应用
可以看到本次活动的内容,可以学习STM32cube软件的生成底层的驱动代码,主要对定时器的PWM输出功能,控制LED灯;使用STM32内部的ADC0/ADC1采集电池电压(这里为了保险,可以将电池电压分压后输送到单片机的内部ADC),接下来就是本次活动的重点蓝牙的学习了,看视频时候,刘工讲的很详细。自己也是跟着视频学习一下使用蓝牙技术控制开发板,制作出一些小产品。
二:STM32开发板图片:
可以看到该开发板由上下板设置,底板MB1801D是调试底板,而本次活动的主角STM32WBA55CG插在上面,所以我们在调试的时候需要注意一下,再对照原理图时候,需要将两块开发板的图纸相结合的查看,还需要注意底板的0欧姆电阻的焊接位置,否则可能把引脚错误的判断。
该开发板介绍:
· 基于Arm® Cortex®M33内核的超低功耗无线STM32WBA52CG微控制器,具有1 MB的Flash存储器和128 KB的SRAM,采用UFQFPN48封装
· MCU射频开发板 (MB1863):
o 支持Bluetooth® 5.3规范的2.4 GHz射频收发器
o 带TrustZone®、MPU、DSP和FPU的Arm® Cortex® M33 CPU
o 集成式PCB天线
· 三个用户LED
· 三个用户和一个复位按钮
· 板连接器:
o USB Micro-B
o ARDUINO® Uno V3扩展连接器
o ST morpho接头,用于所有STM32 I/O的完全访问
· 灵活的供电选项:ST-LINK、USB VBUS或外部电源
· 具有USB重新枚举功能的板上STLINK-V3MODS调试器/编程器:大容量存储器、虚拟COM端口和调试端口
· STM32CubeWB MCU软件包提供全面的免费软件库和示例
· 支持多种集成开发环境 (IDE),包括IAR Embedded Workbench®、MDK-ARM,以及STM32CubeIDE
三:STM32cube 软件配置过程
3.1可以直接到ST官网去下载软件的安装包,简单来说,一键安装就可以,这里就不做过多的介绍和和说明,如果大家使用的过程中有问题,可以评论区留言给我。
目前我使用的并不是最新的版本,主要是软件维护的速度比较快,我在使用的时候发现,软件经常性的完善一些芯片资料或者驱动代码,所以即使我们有段时间不使用软件时,也要对软件进行更新一下,防止我们长时间使用的时候,当再次使用的时候长时间的更新。这次下载的我们需要下载最新的版本,否则不能生成本次活动的开发板。
打开软件界面如图所示:首先要选择当前选择的芯片
这里我们在设计的时候就选择上面那个就可以,基本上就可以满足要求的。
打开芯片的设计界面:
如上图所示:软件会把所有的STM32u083rc的引脚标识出来,而且从图中我们可以看到,出来电源供电引脚外,剩余所有的引脚都是灰色的,标识所有的引脚都没有被使能。
对于刚刚使用者来说,有一点需要注意以下,就是图形化配置的时候需要把芯片的调试功能打开,忘了避免忘记我们耀使能调试功能,如果没有打开调试口的调试功能,当我们下载程序之后,就是不能进行st-link下载了(不过大家也不用担心,我们使用串口下载也是没有问题的),接下来就是配置CPU的芯片了---时钟树的配置,下面简单和大家分享以下配置过程。
配置RCC功能,如下图示,时钟来源选择内部时钟
查看一下时钟数的配置信息:
本次我们先查看一下原理图,确定一下使用的GPIO口;
可以看到LED使用的引脚分别为:PB4,PA9,PB8;然后在cube软件中,将该三个GPIO口设置为输出模式;如下图所示:
点击生成代码界面如下:
在生成的工程中,添加如下代码:
HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_4); HAL_Delay(500); HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_9); HAL_Delay(500); HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_8); HAL_Delay(500);
效果如下所示:
基本的cube配置就是这样。
后记:我们可以通过查看资料和视频,熟悉对cubx升级代码的基本操作过程。
了解到STM32 cube 基本配置过程,开启系统的滴答定时器,GPIO口的配置,
写代码的时候注意要写在规定的位置,否则下次生成代码的时候,就会被覆盖的;
最重要的是将调试口打开,否则下次就不能下载代码了!!!!
本文章旨在介绍如何生成代码及其注意事项,通过板载的LED灯闪烁,介绍LED灯的闪烁程序下载及其注意事项。
这里大家需要注意下,需要注册一个ST的账号,不然生成代码的时候,还需要去官方下载固件包,登录账号后,软就会自行下载,使用起来很方便。
代码在附件中,可以自行下载。。。。。。。。。。。。。。。。。
代码如下: