你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

一种多功能led闪烁的方法

[复制链接]
cheny3922 发布时间:2016-11-15 10:18
最近做的东西就一个led作为提示,想到一种led的控制方法,很简单的程序可以让led有多种闪烁方式,我也是突然想到的,不一定完美,大家有好的想法也可以一起讨论.
先贴主要源码:
u8 led_state ,led_delay,led_shift;//led闪烁方式,led闪烁最小时间,移位变量
以下程序在定时器中断或者知道主函数循环一圈的时间里执行;
  static led_count=0;
irq(){
  if(led_delay<=led_count++)  //到时间
  {
    led_count=0;
    led1 = (led_state>>led_shift)&1;
    if(8==(led_shift++))
    {
      led_shift = 0;
    }
  }

}
思路:
执行一次这段函数是1ms;设置led_delay=100ms;led_count加100次if内的执行一次,
led_state是led闪烁状态,没位1是亮,0是不亮,0xf0是亮灭个400ms,0x01是灭700量100,0xaa是两100灭100,就是100ms判断一次led_shift位上是1还是0,通过改变led_state能改变闪烁方式,改变led_delay能改闪烁时间,就是这样,欢迎大家提出想法一起讨论。
一个字节的

评分

参与人数 1 ST金币 +5 收起 理由
zero99 + 5

查看全部评分

收藏 1 评论16 发布时间:2016-11-15 10:18

举报

16个回答
斜阳 回答时间:2016-12-13 09:24:17
好主意                                 
黑皮男 回答时间:2016-12-31 09:00:24
也可以使用结构体管理LED,只不过内存暂用要大不少
andrewz 回答时间:2016-11-15 12:06:25
好厉害~


st.png
anobodykey 回答时间:2016-11-15 10:35:18
感谢楼主分享
zero99 回答时间:2016-11-15 10:51:02
学习了
高二毛 回答时间:2016-11-15 13:47:04
感谢楼主分享。
忘记一切Q 回答时间:2016-11-15 15:20:22
可以啊!!
忘记一切Q 回答时间:2016-11-15 15:20:40
好主意!
txywqp2015 回答时间:2016-11-16 19:17:43
很厉害的样子
andypanfan 回答时间:2016-11-17 09:04:39
谢谢 分享!!!!!!
zengyi703-16313 回答时间:2016-11-18 07:08:15
谢楼主分享
andypanfan 回答时间:2016-12-13 09:13:36
感谢楼主分享
五哥1 回答时间:2016-12-31 02:22:51
很好,我会测试下
zbber 回答时间:2016-12-31 10:31:18
可以啊,强烈支持楼主ing……
12下一页

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版