3180|3

652

帖子

1

TA的资源

纯净的硅(中级)

楼主
 

MXCHIP+(1)STM32Cube快速启动开发之点亮LED [复制链接]








MXCHIP+1STM32Cube快速启动开发之点亮LED



文档编号
RD-0100-A0
关键字
MX1081, STM32F20x, STM32Cube, STM32 HAL Driver
摘要
本文档记录了使用STM32Cube的图形化配置工具STM32CubeMX来建立MX1081MCU——STM32F20x,LQFP176的初始化代码,并使用固件库——STM32Cube F2来实现LED亮灭。





Mars4zhu



目  录

1 创建STM32CubeMX工程        1
1.1. 选择MCU        1
1.2. 设置引脚功能        1
1.3. 设置MCU运行时钟        2
1.4. 设置MCU外设初始化模式        2
1.5. 设置工程参数和代码生成        3
1.6. 生成代码和工程项目文件        3
2 增加用户代码,点亮LED        3
3 运行效果        4
4 总结        5






插图索引

11   STM32CubeMX配置MX1081-MCU的引脚        1
12   STM32CubeMX配置MX1081-MCU的时钟        2
13   STM32CubeMX配置MX1081-MCU的外设初始化        2
14   STM32CubeMX配置MX1081-MCU的功能参数        3
31   MX1081-MCULED亮灭效果图        4



表格索引

错误!未找到目录项。



1 创建STM32CubeMX工程STM32CubeMXSTM公司推出的最新的MCU引脚与功能初始化配置工具,可对STM32系列的F0F2F3F4以及L0L1系列MCU进行可视化配置。并生成对应的初始化代码和工程。
1.1. 选择MCU根据MX1081Datasheet,我们得知MX1081内部MCU内核是STM32F20x LQFP176封装,1M Flash,但不知为205还是207哪一种,而且F2xx系列MCU都向下兼容,因此选择了F217 LQFP176的,1M-FlashMCU
1.2. 设置引脚功能MX1081Datasheet得知Core1081(核心板)的LEDPI9,因此我们在STM32CubeMXPinOut中设置PI9GPIO_Output,同时应该选择Sys中的SWD接口,此时STM32CubeMx自动将PA13PA14设置为SWDIOSWCLK功能。

11  STM32CubeMX配置MX1081-MCU的引脚
1.3. 设置MCU运行时钟STM32CubeMXClock Configuration,这里选择了MCUHSI内部高速时钟,并采用PLL对其倍频到最大频率,如下图:

12  STM32CubeMX配置MX1081-MCU的时钟
1.4. 设置MCU外设初始化模式STM32CubeMXConfiguration,设置MX1081GPIO初始化参数,如下图:

13  STM32CubeMX配置MX1081-MCU的外设初始化
1.5. 设置工程参数和代码生成STM32CubeMX菜单栏的Project-->Project Settings里面,配置工程生成的目录、工具链、代码生成的库引用/复制、用户代码的保留等功能。如下图:

14  STM32CubeMX配置MX1081-MCU的功能参数
1.6. 生成代码和工程项目文件最后点击菜单栏的Project-->Generate Code,则STM32CubeMX自动生成了对应的目录,并添加相应的库文件或引用到工程中。
2 增加用户代码,点亮LEDSTMCubeMX生成的代码里,main函数分别调用几个初始化函数(也是自动生成)后,MCU的引脚、外设就进入了我们设置的状态。因此直接在后面添加简单的用户代码即可,如下:

  1. /* USER CODE BEGIN 3 */
  2.   /* Infinite loop */
  3.    
  4.   int i = 0;
  5.   int j = 0;
  6.   GPIO_PinState LED_State = GPIO_PIN_RESET;
  7.   
  8.   while (j < 10)
  9.   {
  10.   if( i++ >= 1000000) {
  11.   j++;
  12.   i = 0;
  13.   HAL_GPIO_TogglePin(GPIOI, GPIO_PIN_9);
  14.   }
  15.   }
  16.   while(1) {
  17.   if ((HAL_GetTick() / 500) %2 ) {
  18.   LED_State = GPIO_PIN_SET;
  19.   }
  20.   else {
  21.   LED_State = GPIO_PIN_RESET;
  22.   }
  23.   HAL_GPIO_WritePin(GPIOI, GPIO_PIN_9, LED_State);
  24.   }
  25.   
  26.   /* USER CODE END 3 */
复制代码

以上代码先使用循环延时来闪灭LED,然后使用HAL提供的Timer来闪灭LED。可见此时编程非常简单容易。
3 运行效果使用Jlink下载后,可见LED按照代码的预期闪灭。

31  MX1081-MCULED亮灭效果图

4 总结STM32Cube提供了固件库,用户可直接调用固件库函数来开发,并且可以很好的实现STM32-MCU全系列的代码一致性。同时STM32CubeMX工具提供的可视化引脚、外设、时钟等配置功能,可以帮助快速完成工程的建立、初始化。大大降低了开发者的工作量。





版本历史(Revision History

版本号
发布时间
内容
A0
2014-12-11
初次发布。

MXCHIP (1)STM32Cube快速启动开发之点亮LED.pdf (674.09 KB, 下载次数: 8)

此帖出自RF/无线论坛

最新回复

认真拜读了一下 很不错啊,感谢楼主分享  详情 回复 发表于 2014-12-12 16:14

赞赏

1

查看全部赞赏

点赞 关注(1)
 

回复
举报

1万

帖子

26

TA的资源

裸片初长成(高级)

沙发
 
针对这个板的文档比较少啊,有这篇资料对学习MXCHIP帮助会很大。

谢谢楼主
此帖出自RF/无线论坛
 
 

回复

3414

帖子

0

TA的资源

纯净的硅(高级)

板凳
 
吼吼,这不是stm32的图形配置工具嘛
懒人福音啊
此帖出自RF/无线论坛
个人签名

So TM what......?

 

 
 

回复

3414

帖子

0

TA的资源

纯净的硅(高级)

4
 
认真拜读了一下
很不错啊,感谢楼主分享
此帖出自RF/无线论坛
个人签名

So TM what......?

 

 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
快速回复 返回顶部 返回列表