1 STM32CubeL4开发环境
从官网下载STM32CubeL4,当前版本是V1.4.0,解压后,在projects目录下,显示如下图所示,即STM32CubeL4支持三种开发板:评估版(EVAL)、探索版(Discovery)、Nucleo版,在此选择Nucleo版。
在STM32L476RG-Nucleo目录下,分类存放着STM32CubeL4软件套件的示例代码,其中包含常用的(Examples),低功耗的(Examples_LL)和混合的(Examples_MIX),在此选择常用的Examples下的GPIO示例。
由于STM32L476RG-Nucleo支持多种集成开发环境,故提供了各种集成开发环境的示例包,如下所示的EWARM(IAR)、MDK-ARM(Keil)、SW4STM32、TrueSTUDIO等,在此选择MDK-ARM。
2 项目代码
打开 GPIO_IOToggle工程文件后,在项目位置显示如下信息,包括CMSIS驱动文件、说明文档、板级支持包、用户示例主文件、STM32抽象层驱动以及启动文件等。
首先看下著名的readme文件,里面说明了该工程文件所涉及到文件及操作方法。
然后看下启动文件,即上电启动后,首先调用SystemInit,设置时钟,然后进入主函数main。
GPIO_IOToggle示例代码的主函数,如下图所示,首先板载的初始化操作,然后LED2的初始化,控制GPIO的设置,然后进入到一个死循环中,对LED2(GPIO)进行控制操作。
3 控制效果
经查,LED2_PIN是5号引脚,LED2_GPIO_PORT是GPIOA,如下所示。
经查,STM32L476 Nucleo板子上LD2连接的是PA5引脚,与程序代码一致。
故编译程序下载后,显示如下效果
|