GD32F427/F407领航者开发板学习教程—05 LED实验

大家好,我是凌智君。
从这一节课开始,正式开始学习相关例程,大部分嵌入式教程的第一步都是点灯,我也不例外,这节课带着大家点亮第一个LED。在正式开始之前,大概说一下学习路线:学应用—>学原理—>深入底层。基本就是先玩,先看,有足够的理解和兴趣之后,进行深入讲解原理,废话不多说,直接开始吧。
一、实验目的:
学习如何配置单片机的GPIO输出功能。
二、实验现象:
LED3灯间隔1s不停闪烁,具体详见视频。
三、实验原理
问题1:LED灯为什么会不停的闪烁?
原因:LED灯在间隔一段时间不停的断电、上电。
问题2:LED灯的电路原理是什么?
原因:原理图如下:有控制信号在不停的控制三极管导通和关断,进而控制LED灯不停的上电和断电,高电平(3.3V)三极管导通,低电平(0V)三极管关断。

问题3:控制信号是从哪里来的?是怎么实现的?
原因:控制信号当然是从单片机引脚输出的,然后间隔指定的时间内进行高低电平的切换,一直循环,然后就会有刚才的实验现象了。
问题4:程序是怎么样写的呢?
原因:
先把引脚初始化配置成为输出模式,并且默认输出低电平:
每次都通过库函数配置引脚高低电平输出太麻烦了,进行一个宏定义,这样只写宏定义就可以了,重新定义一下高低电平的表达方式:
下面只要间隔1000ms控制引脚输出不同的电平,就可以实现闪烁了。
每次这样写有点麻烦,可以用库里的函数,可以自动翻转电平,先宏定义一个电平翻转函数的变量。
在执行函数里面直接调用就可以了。
在这里重点提醒一下,凡是使用外设、延时等,肯定都需要初始化函数,在系统初始化函数里面调用并执行。
这样就完成了第一个实验,具体可以详见程序和视频。
配套视频链接:
待更新
开发板链接:
https://item.taobao.com/item.htm?spm=a230r.1.14.23.711d35176CsxjD&id=694056890543&ns=1&abbucket=15#detail
公众号:

凌智君:
YunXiang_TechShare
(添加V,有相关技术交流群)