登录
首页 » 驱动 » 软件定时器

软件定时器

于 2023-04-15 发布 文件大小:69.11 kB
0 36
下载积分: 2 下载次数: 1

代码说明:

应用背景     我们在做单片机程序时,经常会用到多个定时器,这时我们就需要各个配置多个不同的TIMER,有时TIMER不够用,有时TIMER配置过多,标志过多,程序写着写着就乱了,就算是理清了,也会造成程序可读性差,可移植性低,对硬件依赖性强的缺点。     为了解决这个问题,我们可以用程序实现一个软件定时器,在内存允许的范围内,它可以实现无数个定时器、计数器功能,当需要一个定时器,只需要在程序里定义一个定时器变量,通过不同接口的调用,就可以实现定时功能;实现这一功能,只需要占用一个硬件定时器即可,大大减少了硬件TIMER的占用,提高了程序的可移植性,降低程序的复杂度。   关键技术     在这里,我们需要借鉴操作系统架构里的系统嘀嗒功能。先初始化一个硬件TIMER作为系统的心跳,用这个TIMER来驱动一个全局变量sys_pulse的递增;然后利用程序来查询变量当前值判断系统程序的执行时间,从而得现时间的间隔,再通过事件发送程序来通知任务定时已到。     一个软件定时器变量,至少需要包括三个元素,开始时间start_time,定时时长interval,事件内容event;     每当程序启动一个定时器,将当前系统的sys_pulse值赋于开始时间变量start_time, 设定定时器的定时时长interval, 和事件内容event, 然后在主循环里不断查询sys_pulse 是否大于 start_timer + interval,如果大于,则表明此定时器定时结束,然后调用事件发送函数告诉任务,定时已到,开始执行任务。     如果用户要移植此程序,只需要修改timer_init()内硬件TIMER的初始化程序即可,其它内容可以直接引用,不需要修改。   &

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • stm32USB读卡器
    下载此程序可以很好的学习USB的读写,用stm32做一个可读写的USB读卡器,并且可以在屏幕上显示读写的内容,对于大家开发读卡器很有帮助
    2022-08-17 06:35:20下载
    积分:1
  • 伽利略开发板cc3000
    Intel Galileo是首款采用英特尔架构的Arduino兼容开发板系列的产品,针对创作者与教育界用户打造。此平台可让入门的设计者、还有希望能将其设计推升到更高层次的使用者更进一步上手。Intel Galileo结合了英特尔技术的效能,以及Arduino软件开发环境的简易性。cc3000是TI公司的一款无线网卡,该驱动实现了Intel Galileo开发板支持cc3000。
    2022-01-23 10:56:04下载
    积分:1
  • 双击唤醒—android
    资源描述android双击唤醒驱动方案 android双击唤醒驱动方案 android双击唤醒驱动方案 android双击唤醒驱动方案 android双击唤醒驱动方案
    2022-03-30 23:50:55下载
    积分:1
  • 基于51的时钟芯片
    本例程是基于STC51系列单片机的驱动程序,驱动DS1302时钟芯片,可用1602液晶显示年月日,星期,时间小时分钟秒,等信息,比较实用!仅供参考学习实用!
    2023-08-11 15:55:03下载
    积分:1
  • 虹膜检测源码
    实现的基于颜色分隔的人脸人眼检测与定位及识别算法源代码。可以在此基础上继续修改更新。 -The human eye position detection with opencv source code, you can continue on this basis, revised and updated.
    2022-12-24 05:10:04下载
    积分:1
  • STM32 步进电机加减速程序
    应用背景可以使用到自动化、机械手等需要精确控制步进或伺服电机的场合,能够大幅度节约成本。关键技术可以逐步将步进电机速度加到3000,梯形和三角形加速,改程序自动计算短距离的最大速度,应用到需要平滑加减速的步进伺服需要加减速控制的场合。
    2022-01-22 00:56:41下载
    积分:1
  • stm32触摸屏控制LED灯
    资源描述stm32触摸屏控制LED灯,可以学习如何驱动触摸液晶屏控制LED灯
    2022-05-08 12:01:09下载
    积分:1
  • PIC24FJ310GA系列AD
    PIC24FJ310GA系列AD驱动,支持PIC24FJ310GA系列MCU
    2022-02-02 22:14:47下载
    积分:1
  • touch
    TOUCH.zip,这个是touch 驱动,我测试过可以用于学习,并对学习有很大的帮助 请点击左侧文件开始预览 !预览只提供20%的代码片段,完整代码需下载后查看 加载中 侵权举报
    2022-03-19 00:07:35下载
    积分:1
  • MSP430g2553 for DMX512
    //它产生了100us的中断
    2022-03-24 20:13:44下载
    积分:1
  • 696518资源总数
  • 104225会员总数
  • 32今日下载