STM32的MCU在启动时,只用正确进行了硬件配置才能正常工作。ST提供了一个专门生成初识化代码的工具STM32CubeMX。通过使用这个工具使得我们不必花费太多的时间用于进行MCU底层硬件的配置,而是关注于应用的开发。下面就以NUCLEO-L476RG开发板为例,简单地介绍一下如何使用STM32CubeMX生成初始化代码,建立Led闪烁的工程,并将生成的二进制文件下载到开发板上。
首先启动STM32CubeMX,新建一个工程,在开发板类型选择Nucleo64,MCU系列选择STM32L4。然后在外设选择的列表中led和Button添加1,开发板选择中选中NUCLEO-L476RG。
点击“OK”。STM32CubeMX将会显示目标MCU以及它的配置信息,包括引脚分布、时钟配置及功耗计算器。
配置信息采用默认的配置。然后产生Keil工程的代码。注意:这个过程需要PC安装有最新版本的STM32CubeL4。
打开工程,在main.c函数添加LED LD2相关的初始化信息以及设置LD2闪烁。代码如下: - /* -1- Enable each GPIO Clock (to be able to program the configuration registers) */
- LED2_GPIO_CLK_ENABLE();
- /* -2- Configure IOs in output push-pull mode to drive external LEDs */
- GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
- GPIO_InitStruct.Pull = GPIO_PULLUP;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
- GPIO_InitStruct.Pin = LED2_PIN;
- HAL_GPIO_Init(LED2_GPIO_PORT, &GPIO_InitStruct);
- /* -3- Toggle IOs in an infinite loop */
- while (1)
- {
- HAL_GPIO_TogglePin(LED2_GPIO_PORT, LED2_PIN);
- /* Insert delay 100 ms */
- HAL_Delay(100);
- }
复制代码将NUCLEO-L476RG连接至PC,使用ST-LINK下载程序到NUCLEO-L476RG。LD2灯开始闪烁。
|