STM32CubeMX学习之旅1:点亮一个LED灯

    本学习采用“STM32CubeMX + MDK-ARM”的开发工具组,内部利用ST主推的HAL(Hardware Abstraction Layer,硬件抽象层)库,对新大陆的M3主控模块(内置STM32F103VET6芯片)实现开发学习。总的开发流程如下:

    1、利用STM32CubeMX对MCU进行配置。

    2、生成基于MDK-ARM集成开发环境的初始化代码。

    3、添加功能逻辑,完成应用开发,编译并运行。


一、任务描述

客户需要制作流水灯作为装饰,微控制器使用STM32F103VET6,根据需要完成1个LED的测试(以LED2为例)。


二、硬件结构

从M3主控模块的电路图可以看到,LED1~LED8对应的引脚分别是PE7~PE0,即对应关系如下:

PE0——LED8

PE1——LED7

PE2——LED6

PE3——LED5

PE4——LED4

PE5——LED3

PE6——LED2

PE7——LED1

同时,这些LED灯均为低电平有效,即低电平时能够将灯点亮。

另外还有一个LED9对应的引脚为PB8,另外具备了呼吸灯功能,这个后面再说。


三、实施步骤

1、新建STM32CubeMX工程

打开STM32CubeMX,点击【ACCESS TO MCU SELECTOR】,如图1所示。在搜索栏中输入“STM32F103VE”,之后选择并双击【STM32F103VETx】,如图2所示。最后进入如图3所示的界面。

图1

 图2

 图3

2、配置工程参数

(1)在【Pinout & Configuration】界面中,点击【System Core】中的【SYS】,将【Debug】设置为【Serial Wire】,之后就可以通过ST-LINK烧录程序,方便调试。

 图4

(2)点击【RCC】,将【High Speed Clock(HSE)】和【Low Speed Clock(LSE)】都设置为【Crystal/Ceramic Resonator】,即由外部晶振提供系统时钟。

 图5

(3)点击【Clock Configuration】到时钟配置界面,根据图6进行配置。

 图6

(4)回到【Pinout & Configuration】界面,将【PE6】设置为【GPIO_Output】推挽输出模式,,默认为高电平,并添加用户标签【LED2】,如图7所示。

 图7

(5)点击【Project Manager】到项目管理界面,在【Project】设置好项目名称、路径以及要使用IDE,如图8所示。并在【Code Generator】界面选上“Copy only the necessary library files”和“Generate peripheral initialization as a pair of ‘.c/.h’ files per peripheral”。如图9所示。

       勾选“Copy only the necessary library files”表示只复制需要用到的库文件,能够提高编译效率。

       勾选“Generate peripheral initialization as a pair of ‘.c/.h’ files per peripheral”表示为每一个外设初始化都生成一对的“.c/.h”文件,能使代码更有条理,方便编写代码。

 图8

 图9

(6)点击【GENRATE CODE】,等待STM32CubeMX生成初始化代码,如图10所示。等待一段时间完成后,如图11所示,点击【Open Project】即可打开MDK-ARM界面,如图12所示。第一次打开由Cube生成的初始化代码最好有编译的的习惯,让各个文件进行关联。

 图10

 图11

 图12

3、完善代码

在main.c中完成如下代码。注意养成在一对【BEGIN】和【END】编写代码的习惯,这样在Cube更改配置并更新生成的初始化代码后,自己写的代码也不会消失。

		HAL_GPIO_WritePin(LED2_GPIO_Port, LED2_Pin, GPIO_PIN_RESET);

4、编译并烧录代码 


四、运行结果

LED2被点亮。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值