嵌入式软件架构设计之十六:LED灯多种指示状态逻辑如何实现?

关键词:LED灯状态控制、事件触发、状态转换、占空比、面向数据结构编程

     

       在嵌入式设备上,常常设计有LED指示,用来指示设备的运行状态,如常见的红灯、绿灯、蓝灯,可以用来分别指示电源状态,网络连接状态,通信状态,故障状态等。LED灯物理状态通常只有亮和灭,硬件上使用一个GPIO脚进行拉高、拉低来驱动LED实现亮和灭,是嵌入式开发中最最简单的功能。 但是对于业务层逻辑来说,要在一个LED上实现多种逻辑状态并没有那么简单,还是要花费点功夫做些数据结构和逻辑上的设计,以及要考虑到设备休眠时LED需要熄灭的控制。

一、一灯多状态

     比如有个这样的功能需求:设备上有一个绿灯LED,需要实现如下状态:

1.网络未连接时:5秒周期,10%占空比(亮500ms)闪烁

2.网络连接时   :3秒周期,10%占空比(亮300ms)闪烁

3.OTA升级中   :1秒周期,50%占空比(亮500ms)闪烁

4. 串口通信中  :0.5秒周期,50%占空比(亮250ms)闪烁

驱动接口已经实现:<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值