野火stm32呼吸灯程序_呼吸灯原理(非PWM实现方式)介绍

本文介绍了如何使用STM32实现非PWM方式的呼吸灯效果,详细阐述了呼吸灯的原理,包括模拟人体呼吸的周期和人眼视觉滞留效应。在程序设计中,通过调整亮灭时间的占比来实现不同柔和度的效果。同时,文章提到了STM32程序的灵活性,允许调整呼吸时间和周期参数。还讨论了HAL库的执行效率问题,并给出了优化中断处理时间的建议,以及如何在需要延时时控制定时器的开启和关闭。
摘要由CSDN通过智能技术生成

1.呼吸灯原理分析:
模拟人体呼吸,吸气和呼气各占1.5S,人眼的图像滞留时间0.04s(1/24帧画面),按最快0.04s算,就是40ms。亮0.02S,灭0.02s,人眼看到的应该是一直亮(可以实验)。

2.呼吸灯程序设计:
就是改变这40ms中,亮和灭所占的百分比(40ms相对不柔和,20ms效果柔和)。

亮的百分比多,人眼看到的就亮,反之就是暗(实验,为了提高呼吸灯的柔和效果,采用设置20ms一个周期,20ms内调整亮和灭的比例)

因此程序设计:
1.5S需要1500/20=75个周期,75个周期中,亮度百分比有0%增长到100%,因此每个周期增长时间为20ms/75=266us(点亮)。熄灭的原理,正好相反,熄灭时间增长。程序中需要两个循环,一个用来点亮一个用来熄灭。

3.STM32程序实现代码
程序要灵活设计,能够调整呼吸时间的长短,1.5s这个参数。可以调整柔和度,可以调整40ms这个周期参数,这样就实现了呼吸灯的灵活调整。源代码先不放出来了,等做完实验放出。
***********

428f3f31b7c95907c154196b3183ec18.png

//==&#

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值