请选择 进入手机版 | 继续访问电脑版

你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【NUCLEO-L476RG开发】初识STM32CubeMX

[复制链接]
博根 提问时间:2015-11-12 22:46 /

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

首先启动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灯开始闪烁。




评分

参与人数 1 ST金币 +5 收起 理由
沐紫 + 5

查看全部评分

收藏 2 评论3 发布时间:2015-11-12 22:46

举报

3个回答
lxqily 回答时间:2015-11-13 08:29:08
风子 回答时间:2015-11-13 09:01:35
谢谢分享.png
十划吕 回答时间:2015-11-13 10:17:42
谢分享,居然还有引脚图,厉害
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版