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

查看: 996|回复: 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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版