欢迎光临散文网 会员登陆 & 注册

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

2023-03-17 13:50 作者:凌智科技  | 我要投稿

    大家好,我是凌智君。

    从这一节课开始,正式开始学习相关例程,大部分嵌入式教程的第一步都是点灯,我也不例外,这节课带着大家点亮第一个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,有相关技术交流群)


GD32F427/F407领航者开发板学习教程—05 LED实验的评论 (共 条)

分享到微博请遵守国家法律