(二)LED灯怎么闪

        常亮,慢闪,快闪,呼吸灯(亮度变化),跑马灯(通道变化),RGB灯(颜色变化)。

        上一章,说的其实就是常亮,通常用来指示上电。这个其实还是挺重要的,毕竟,客户不能随时拿着仪器往上怼。当然了,既然没准备让它灭,也就没有必要单片机控制,把LED灯珠直接接在电源通路中就行了,怕费电的话整个大电阻挨着。

        但是对于指示连接,什么串口啊,网线啊,蓝牙啊,wifi啊,总而言之就是间歇性工作的设备,我们还是希望直观的知道它到底有木有干活,那么对应不同的工作状态,来个变脸还是挺必须的。比如,没有数据时候就眯着,配置连接的时候就快闪,持续性的数据流的时候就慢闪,等等。

        那么这个卡姿兰大眼睛blink,blink放电是怎么搞呢?

        聪明如你,肯定早已想到了,那就是点亮一下,再熄灭一下,中间睡多一会儿就是慢闪,睡少一会儿就是快闪。

        Bingo,上代码吧 - 

    while(1){
        /* turn on  */
        gpio_bit_set(GPIOF,GPIO_PIN_7);
        delay_1ms(1000);
        /* turn off */
        gpio_bit_reset(GPIOB,GPIO_PIN_6);
        delay_1ms(1000);
    }

       呃,您要是想优化一下那随意哈,就是个示意。通常2秒以上周期这种,就算慢闪了,毕竟看着没那么慌是不是。

        其实还有个小问题,那就是以上只是在搞一个灯,咋整都行啊。要是百八十个灯的话,这段代码纯copy-paste都要吐血了,万一再来百八十个不同的板型,要重新定义,可能就得原地去世了... ...

        那个,stm32他家可以写配置,新唐家也有配置工具(好像目前的版本有点小bug,不过变通一下还是能用的),但是既然要成本最优,那么显然这么高大上的好东西,是轮不到咱的,对吧... ...

        偏巧,LED这行呢啥都少,就是灯多,你想想看舞台上那练成一片闪瞎钛合金狗眼的光晕,对于接下来要写控制逻辑的你,是否顿时涌起一股蛋蛋的忧伤呢?

        bgm - 《男儿当自强》

        呵呵,说笑了,远远没到头疼的时候。

        具体操作呢,当然要具体分析,不过既然就开关两种状态,那么设置一个包含所有通道的开关量的数组也不失为一种可选的处置方式。到时候一个小for循环一整,遍历数组来重新给各个组的管脚置位,倒也说不上麻烦。

        要是硬件也变了......那还是单独开个.c,做硬件描述吧,每个板型都来一份,贴心又放心。说不定硬件的兄弟工作量不饱满,还可以抓个壮丁呢,万一,呢?

        话说回来,硬件组的兄弟们,不是日常给俺们背锅的吗?

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值