应广驱动框架_第二章 时间片机制,不一样的按键扫描

       一直忙的顾头不顾腚的,今天终于可以抽出一点时间了,继续我们未完的约定~

       依稀记得上大学那会可亲的老师教授键盘检测要防抖,讲述了防抖原因并给出了精心准备的例子。作为一个呆家伙,我居然真用这种编程方法参加了工作.......

        你也许在想:是啊,是这么教的呀,书上也是这么写的呀,有问题?没有问题,但你有没有想过,这10ms实际上对单片机是一种巨大的浪费,当程序需要同时运行多个需求的时候会捉襟见肘。下面我们就进入本章重点:时间片机制,拒绝死等!

        1. 配置好250us中断,1ms计时。注意变量SpeedCon_Num。

         2. main函数中构建while(1)主循环。主循环里同时运行了多个任务:按键扫描、LED闪烁、睡眠计时、睡眠检测等。每8ms为一轮,轮流调用每个函数。注意变量SpeedCon_Num。

        3. 编写按键扫描程序。仔细看看会发现这种按键扫描根本没有“死等10ms”,而是采用变量计时,每8ms扫描一次按键,防抖24ms,满足条件则确认按键触发。这段按键扫描代码所耗费的时间不会超过50us。

        综上,采用时间片机制后大大减少了单片机的空转,提高了利用率,能对外界做出更快更好的响应。小小抛砖引玉,等你来战哦~

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值