1 Star 2 Fork 2

Admin/STM32F103RB状态机控制LED灯

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
/*
*********************************************************************************************************
*
*	                          【安富莱】STM32-V4 开发板-例程功能说明
*
*	例程名称       : V4-001_不一样的跑马灯(软件定时器、状态机)
*
*	推荐将编辑器的缩进参数和TAB设置为4 来阅读本文件
*
*********************************************************************************************************
*/

【1】例程简介
	
	这个程序实现了简单的流水灯功能。流水灯程序(也叫跑马灯)的写法有很多种,每个人都不一样。有简单的有复杂的,
	我们写得这个流水灯程序看起来复杂。我们不是简单地教你如何设置1个GPIO输出0和1,我们希望你能从中学到是
	ST固件库、状态机编程、软件定时器的用法。
	
	这个流水灯程序实现功能如下:
	(1)上电时,LED1点亮,闪烁3次,闪烁频率为精确的1Hz。 --- 状态0  (持续3秒)
	(2)依次点亮4个LED中的一个, 实现流水灯的效果。--- 状态1 (持续5秒)
	(3)依次熄灭4个LED中的一个,实现第2种流水灯效果。  --- 状态2 (持续5秒)
	(4)(状态0)-->(状态1)-->(状态2 )
	                     |           |
	                      -----<-----                
			  		
	                            
	这个例子应用1个systick中断实现几个软件定时器,用来控制LED指示灯的闪烁时间。主程序采用了状态机编程方法。
		
	bsp_led.c 文件封装了LED的驱动函数。驱动LED的相关GPIO被配置为推挽输出模式。
	
	bsp_timer.c 文件包含systick中断配置函数,定时周期设置为1ms。中断服务程序实现了4个软件定时器。软件定时器
	的个数由bsp_timer.h 中的宏TMR_COUNT来定义。

	
【2】执行结果
	下载完程序之后,复位运行程序。观察开发板上的LED1-LED4 指示灯的状态。



【3】例程修改记录
	2015-08-30  V1.0  首版

【4】
2021-08
1、迁移到Nano 开发板适配STM32F103RB;
2、将跑马灯的数量增加到8个;
3、 HardFault_Handler函数使用了beep,但愿程序没有初始化beep,增加beep初始化,并在第一个状态机中和LED同步动作。
4、重写了状态机章节,使用二维数组的方式,更加符合状态机的用法。

空文件

简介

STM32F103RB状态机控制LED灯,适配正点原子F103 Nano开发板,使用安富莱代码进行改写 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C
1
https://gitee.com/whaishen_whaishen/FSMLED.git
git@gitee.com:whaishen_whaishen/FSMLED.git
whaishen_whaishen
FSMLED
STM32F103RB状态机控制LED灯
master

搜索帮助