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

查看: 982|回复: 3

[STM32L476] 【NUCLEO-L476RG开发】初识STM32CubeMX

[复制链接]

47

主题

381

回帖

7

蝴蝶豆

论坛元老

最后登录
2020-9-19
发表于 2015-11-12 22:46:51 | 显示全部楼层 |阅读模式

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灯开始闪烁。




评分

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

查看全部评分

回复

使用道具 举报

0

主题

105

回帖

0

蝴蝶豆

高级会员

最后登录
2020-6-10
发表于 2015-11-13 08:29:08 | 显示全部楼层
回复 支持 反对

使用道具 举报

33

主题

1243

回帖

0

蝴蝶豆

论坛元老

最后登录
2019-3-9
发表于 2015-11-13 09:01:35 | 显示全部楼层
谢谢分享.png
回复 支持 反对

使用道具 举报

0

主题

85

回帖

0

蝴蝶豆

中级会员

最后登录
2016-12-24
发表于 2015-11-13 10:17:42 | 显示全部楼层
谢分享,居然还有引脚图,厉害
回复 支持 反对

使用道具 举报

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版