stm32-kirk-lib使用笔记 - 005 点亮LED灯(基础篇)
在编程领域,打印"Hello world!"被作为初学者的第一个工程。在MCU的使用过程中,点亮一个LED灯被视为单片机的"Hello world!"工程。
在此,我们就一起探索一下,如何用STM32来点亮小灯吧!
1. 实验器材
- 一块单片机最小系统板或开发板
- ST-Link调试器或板载ST-Link
2. 实验准备
在本实验中,我们仅需用一块STM32单片机控制一个小灯就可以了。而一般的最小系统板或开发板都至少会自带一个LED,所以我们无须外接。
小柯就顺手使用了正点原子的阿波罗开发板,主控为STM32F767IGT6。开发板上有两个小灯,其中DS0接在引脚PB1上,DS1接在引脚PB0上。小柯就拿这两个小灯来进行后面的展示。
值得一提的是,原子哥的阿波罗开发板板载设备较为充足,可供开发调试的内容较多。小柯后续的项目主要会基于这一块开发板。
接下来就开始吧~
-
新建工程,并将对应引脚配置为输出
-
为引脚添加标签,方便后续操作
-
保存工程,生成代码
-
复制库文件,添加各头文件目录,将用到的 Klib_Device_Layer 目录作为编译的对象。
详见 stm32-kirk-lib使用笔记 - 001 综述
-
添加用到的源文件
本实验中用到的源文件为 Klib_Device_Layer 目录下的 kdl.c 和 kdl_led.c,将其他 c 文件移出编译范围。
-
引用头文件,添加LED对象
LED对象定义在 kdl_led.h 头文件中,为 KDL_LED_t。具体代码如下:
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
#include "kdl_led.h"
/* USER CODE END Includes */
/* Private variables ---------------------------------------------------------*/
/* USER CODE BEGIN PV */
KDL_LED_t DS0;
KDL_LED_t DS1