找回密码
 立即注册
查看: 23633|回复: 0

【NUCLEO-L476RG学习笔记】初识STM32CubeMX

[复制链接]

99

主题

45

回帖

184

积分

版主

积分
184

优秀版主

发表于 2015-11-12 21:04:23 | 显示全部楼层 |阅读模式

STM32的MCU在启动时,只用正确进行了硬件配置才能正常工作。ST提供了一个专门生成初识化代码的工具STM32CubeMX。通过使用这个工具使得我们不必花费太多的时间用于进行MCU底层硬件的配置,而是关注于应用的开发。下面就以NUCLEO-L476RG开发板为例,简单地介绍一下如何使用STM32CubeMX生成初始化代码,建立Led闪烁的工程,并使用STM32 ST-LINK Utility工具将生成的二进制文件下载到开发板上。

首先启动STM32CubeMX,新建一个工程,在开发板类型选择Nucleo64,MCU系列选择STM32L4。然后在外设选择的列表中led和Button添加1,开发板选择中选中NUCLEO-L476RG。

new project.jpg

点击“OK”。STM32CubeMX将会显示目标MCU以及它的配置信息,包括引脚分布、时钟配置及功耗计算器。

007.jpg

配置信息采用默认的配置。然后产生Keil工程的代码。注意:这个过程需要PC安装有最新版本的STM32CubeL4。

wer.jpg

打开工程,在main.c函数添加LED LD2相关的初始化信息以及设置LD2闪烁。代码如下:

  1. /* -1- Enable each GPIO Clock (to be able to program the configuration registers) */
  2.   LED2_GPIO_CLK_ENABLE();

  3.   /* -2- Configure IOs in output push-pull mode to drive external LEDs */
  4.   GPIO_InitStruct.Mode  = GPIO_MODE_OUTPUT_PP;
  5.   GPIO_InitStruct.Pull  = GPIO_PULLUP;
  6.   GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;

  7.   GPIO_InitStruct.Pin = LED2_PIN;
  8.   HAL_GPIO_Init(LED2_GPIO_PORT, &GPIO_InitStruct);

  9.   /* -3- Toggle IOs in an infinite loop */
  10.   while (1)
  11.   {
  12.     HAL_GPIO_TogglePin(LED2_GPIO_PORT, LED2_PIN);
  13.     /* Insert delay 100 ms */
  14.     HAL_Delay(100);
  15.   }
复制代码

将NUCLEO-L476RG连接至PC,使用ST-LINK下载程序到NUCLEO-L476RG。LD2灯开始闪烁。




如果你能看到我的世界里那些渐渐消逝的美好,你就能体会到现在所拥有的幸福。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|YiBoard一板网 ( 冀ICP备18020117号 )

GMT+8, 2025-10-30 05:44 , Processed in 0.103935 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表