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

一种多功能led闪烁的方法

[复制链接]
cheny3922 发布时间:2016-11-15 10:18
最近做的东西就一个led作为提示,想到一种led的控制方法,很简单的程序可以让led有多种闪烁方式,我也是突然想到的,不一定完美,大家有好的想法也可以一起讨论." a. Z! X; ?, ]$ X
先贴主要源码:' M+ A( O' Z+ f" H- Z% |5 q% e
u8 led_state ,led_delay,led_shift;//led闪烁方式,led闪烁最小时间,移位变量( I7 w) x; _' P6 o% u* o
以下程序在定时器中断或者知道主函数循环一圈的时间里执行;
: C5 d8 F) o, Z" w4 P8 A8 }  static led_count=0;
! N2 S! A& \7 h, N1 W: m% ?irq(){
: E) M! f: F4 G6 z2 `  if(led_delay<=led_count++)  //到时间0 a$ Y, G, \# n9 j# h
  {
8 z0 w" a% L2 n  S% b    led_count=0;0 H2 Y5 K- A7 q- k' u- t, y
    led1 = (led_state>>led_shift)&1;3 ^7 ~. I  N/ {: q3 n' f' `
    if(8==(led_shift++))% j+ i7 b; Q: b2 C, [& R
    {: K- n5 ~" K2 V4 O0 T: n; Q
      led_shift = 0;7 o6 [- C. F1 K) j1 Y) D
    }* J5 r5 N: r  F5 _$ I: h
  }% P7 a( q" u8 E1 J4 ~* @

& e* O( Y; h, \1 }, U/ g% c& L}
9 ~- N, i; E+ P0 w1 b/ `思路:
; w/ b9 X4 w+ U7 r执行一次这段函数是1ms;设置led_delay=100ms;led_count加100次if内的执行一次,
/ t+ l: x; C$ S. p- wled_state是led闪烁状态,没位1是亮,0是不亮,0xf0是亮灭个400ms,0x01是灭700量100,0xaa是两100灭100,就是100ms判断一次led_shift位上是1还是0,通过改变led_state能改变闪烁方式,改变led_delay能改闪烁时间,就是这样,欢迎大家提出想法一起讨论。
% ~  B! E/ `/ v5 u一个字节的
$ }" a$ I# X/ A; U' q+ Z

评分

参与人数 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
好厉害~
. y# f/ A/ X3 [/ M$ |. e2 ~7 S& Z- J* R; c& G; c- Z+ n
  X5 u- S0 n3 O, l, H8 {
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……: T8 |! c, ~( }
12下一页
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版