GD32F427/F407领航者开发板学习教程—07 状态灯

大家好,我是凌智君。
这一节课主要给大家讲解一下状态灯的实现和应用。废话不多说,直接开始。
一、实验目的:
学习如何配置单片机引脚实现状态灯。
二、实现现象:
可以使用LED灯代表不同的状态,程序以两个状态为例,就绪态和运行态。
三、实验原理:
问题1:什么是状态机?
原因: 状态机由状态寄存器和组合逻辑电路构成,能够根据控制信号按照预先设定的状态进行状态转移,是协调相关信号动作、完成特定操作的控制中心。
问题2:LED灯的电路原理是什么?
原因:见LED等实验课内容。
问题3:程序是如何实现的?
先配置多个引脚,初始化配置成为输出模式,并且默认输出低电平:
每次都通过库函数配置引脚高低电平输出太麻烦了,进行一个宏定义,这样只写宏定义就可以了,重新定义一下高低电平的表达方式:
状态机实现函数,函数有一个输入参数,输入参数满足函数里面的执行条件,才能有对应的操作,有点类似 switch case 的用法,这里写的最简单的方式,随着后续课程的深入,逐渐将C语言的一些用法融入进来。
在LED.h里面声明两个状态,1代表LED3的运行,2代表LED4的运行,在实际应用过程中,可以写成对应的执行函数或者动作。
在执行函数里面调用对应的状态码,实现对应的状态。
这节课主要是以两个LED灯的方式简单描述了一下状态机,在实际项目中,状态机远远比这个麻烦,这里带大家入门,树立一个概念。好了,这节就到这里了。
配套视频链接:
待更新
开发板链接:
https://item.taobao.com/item.htm?spm=a230r.1.14.23.711d35176CsxjD&id=694056890543&ns=1&abbucket=15#detail
公众号:

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