|
MXCHIP+(1)STM32Cube快速启动开发之点亮LED
[复制链接]
MXCHIP+(1)STM32Cube快速启动开发之点亮LED
文档编号
| RD-0100-A0
| 关键字
| MX1081, STM32F20x, STM32Cube, STM32 HAL Driver
| 摘要
| 本文档记录了使用STM32Cube的图形化配置工具STM32CubeMX来建立MX1081的MCU——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-MCU的LED亮灭效果图 4
表格索引
错误!未找到目录项。
1 创建STM32CubeMX工程STM32CubeMX是STM公司推出的最新的MCU引脚与功能初始化配置工具,可对STM32系列的F0、F2、F3、F4以及L0、L1系列MCU进行可视化配置。并生成对应的初始化代码和工程。
1.1. 选择MCU根据MX1081的Datasheet,我们得知MX1081内部MCU内核是STM32F20x LQFP176封装,1M Flash,但不知为205还是207哪一种,而且F2xx系列MCU都向下兼容,因此选择了F217 LQFP176的,1M-Flash的MCU。
1.2. 设置引脚功能从MX1081的Datasheet得知Core1081(核心板)的LED是PI9,因此我们在STM32CubeMX的PinOut中设置PI9为GPIO_Output,同时应该选择Sys中的SWD接口,此时STM32CubeMx自动将PA13、PA14设置为SWDIO、SWCLK功能。
图 11 STM32CubeMX配置MX1081-MCU的引脚
1.3. 设置MCU运行时钟在STM32CubeMX的Clock Configuration,这里选择了MCU的HSI内部高速时钟,并采用PLL对其倍频到最大频率,如下图:
图 12 STM32CubeMX配置MX1081-MCU的时钟
1.4. 设置MCU外设初始化模式在STM32CubeMX的Configuration,设置MX1081的GPIO初始化参数,如下图:
图 13 STM32CubeMX配置MX1081-MCU的外设初始化
1.5. 设置工程参数和代码生成在STM32CubeMX菜单栏的Project-->Project Settings里面,配置工程生成的目录、工具链、代码生成的库引用/复制、用户代码的保留等功能。如下图:
图 14 STM32CubeMX配置MX1081-MCU的功能参数
1.6. 生成代码和工程项目文件最后点击菜单栏的Project-->Generate Code,则STM32CubeMX自动生成了对应的目录,并添加相应的库文件或引用到工程中。
2 增加用户代码,点亮LED在STMCubeMX生成的代码里,main函数分别调用几个初始化函数(也是自动生成)后,MCU的引脚、外设就进入了我们设置的状态。因此直接在后面添加简单的用户代码即可,如下:
- /* USER CODE BEGIN 3 */
- /* Infinite loop */
-
- int i = 0;
- int j = 0;
- GPIO_PinState LED_State = GPIO_PIN_RESET;
-
- while (j < 10)
- {
- if( i++ >= 1000000) {
- j++;
- i = 0;
- HAL_GPIO_TogglePin(GPIOI, GPIO_PIN_9);
- }
- }
- while(1) {
- if ((HAL_GetTick() / 500) %2 ) {
- LED_State = GPIO_PIN_SET;
- }
- else {
- LED_State = GPIO_PIN_RESET;
- }
- HAL_GPIO_WritePin(GPIOI, GPIO_PIN_9, LED_State);
- }
-
- /* USER CODE END 3 */
复制代码
以上代码先使用循环延时来闪灭LED,然后使用HAL提供的Timer来闪灭LED。可见此时编程非常简单容易。
3 运行效果使用Jlink下载后,可见LED按照代码的预期闪灭。
图 31 MX1081-MCU的LED亮灭效果图
4 总结STM32Cube提供了固件库,用户可直接调用固件库函数来开发,并且可以很好的实现STM32-MCU全系列的代码一致性。同时STM32CubeMX工具提供的可视化引脚、外设、时钟等配置功能,可以帮助快速完成工程的建立、初始化。大大降低了开发者的工作量。
版本历史(Revision History)
版本号
| 发布时间
| 内容
| A0
| 2014-12-11
| 初次发布。
|
MXCHIP (1)STM32Cube快速启动开发之点亮LED.pdf
(674.09 KB, 下载次数: 8)
|
赞赏
-
1
查看全部赞赏
-
|