STM32WB09KE是ST推出的有关无线的系列的芯片。所以凭借ST成熟的开发生态,STM32WB09KE支持多种开发环境。本文使用常用的开发软件进行验证—MDK。 首先是下载Demo程序。最简单的方式是板卡连接上电脑,电脑会有一个移动存储设备接入(类似U盘)。虽然容量非常小,但是存储着板卡资料的链接和板卡信息,这一点是非常有创意的。有些板卡是附带一个光盘,如果没有光驱的话是非常麻烦的。也有的就是上面通过标签纸贴着资料链接或芯片厂商的官网地址,但是时间一长就很容易丢失,再找的话比较麻烦。而ST的这种方式是非常方便的。存储空间大小和存储文件如下图所示:
可以看到存储设备的名称也是非常贴近板卡的型号。里面的.HTM文件就是资料下载的链接。不过建议最好不要修改里面的文件,毕竟也不能当个U盘。
打开后是ST的官网,可以点击Tools&Software找到STM32CubeWB0,点击标题就可以下载了。不过需要进行账号登录。操作如下图所示
下载链接为STM32WB09KE例程下载链接。
下载好后en.stm32cubewb0-v1-0-0.zip\STM32Cube_FW_WB0_V1.0.0\Projects\NUCLEO-WB09KE文件夹下的例程都是STM32WB09KE的例程。
然后是MDK支持包的安装。第一种方法是可以在线安装,这个有很多的教程,但是安装时间较长,而且也会失败。第二种方法是用离线安装支持包,离线安装的优点是安装快且简单。缺点是得找到对应的离线支持包。而最近MDK官网不能下载支持包,ST官网也是没有下载接口。所以从其他地方下载了一个。
Keil.STM32WB0x_DFP.1.0.0.rar
(400.75 KB)
安装好后可以直接打开STM32Cube_FW_WB0_V1.0.0\Projects\NUCLEO-WB09KE\Examples\GPIO\GPIO_IOToggle\MDK-ARM文件夹下的例程,该例程是让板卡上的两个LED闪烁。在打开过程中MDK会自动更新一下支持包,这个可以等一下,更新完之后需要选择一下芯片型号。打开后的主要源码是
/* -1- Enable GPIO Clock (to be able to program the configuration registers) */
LD1_GPIO_CLK_ENABLE();
LD2_GPIO_CLK_ENABLE();
/* -2- Configure IO in output push-pull mode to drive external LEDs */
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
GPIO_InitStruct.Pin = LD1_PIN;
HAL_GPIO_Init(LD1_GPIO_PORT, &GPIO_InitStruct);
GPIO_InitStruct.Pin = LD2_PIN;
HAL_GPIO_Init(LD2_GPIO_PORT, &GPIO_InitStruct);
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
HAL_GPIO_TogglePin(LD1_GPIO_PORT, LD1_PIN);
/* Insert delay 100 ms */
HAL_Delay(100);
HAL_GPIO_TogglePin(LD2_GPIO_PORT, LD2_PIN);
/* Insert delay 100 ms */
HAL_Delay(100);
}
其中两个LED对应的引脚用 LD1_GPIO_PORT、LD1_PIN、LD2_GPIO_PORT和LD2_PIN表示。通过查看宏定义可以知道分别连接在PB1和PB4引脚上。
烧写后的效果如下
验证完之后便想着如果没有例程的话就需要查看原理图才能控制。而在ST官网没有找到对应的原理图。不过后来通过STM32CubeIDE的编译软件找到的。原理图文件为
20622.pdf
(5.74 MB)
20624.pdf
(7.78 MB)
。
获取方式如下图
|