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

软件定时器

于 2023-04-15 发布 文件大小:69.11 kB
0 112
下载积分: 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 个回复

  • android游戏开发之摇杆控制源码
    android游戏开发之摇杆控制源码
    2022-05-25 23:25:01下载
    积分:1
  • SPI通信源码
    SPI,是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI,是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。
    2022-09-07 23:40:02下载
    积分:1
  • FM24C256
    用先进的铁电技术制造的 256K位的非易失性存储器.铁电随机存储器 (FRAM)具有非易失性,并且可以象RAM一 样快速读写,数据在掉电后可以保存10年;本驱动可实现从此芯片中存取数据功能。
    2022-02-03 06:26:29下载
    积分:1
  • 《51单片机典型应用开发范例大全》源代码
    共32个实例项目的C代码和原理图:节日彩灯系统设计、简易电子琴、 请点击左侧文件开始预览 !预览只提供20%的代码片段,完整代码需下载后查看 加载中 侵权举报
    2023-06-18 18:40:06下载
    积分:1
  • 3tiersarchitecture演示
    介绍
    2022-06-14 21:51:12下载
    积分:1
  • C8051F381片内flash操作代码
    C8051F381片内flash操作代码是在KEIL3环境下编写的,通过对片内flash相关地址的读写操作可以存储芯片一些 重要参数(非易失性数据存)。
    2022-07-18 07:51:54下载
    积分:1
  • 51单片机解码315M模块
    51单片机模拟PT2262 PT2272时序,解315M超再生模块,通过串口讲按键码打印在串口助手上。2262对应电阻为4.7M
    2022-03-12 14:01:35下载
    积分:1
  • WINXP级内核重载
    应用背景 windows xp SP3下的驱动级的内核重载,用处很多,懂的人自然会用,已经经过本机测试!!! windows xp SP3下的驱动级的内核重载,用处很多,懂的人自然会用,已经经过本机测试!!! windows xp SP3下的驱动级的内核重载,用处很多,懂的人自然会用,已经经过本机测试!!! windows xp SP3下的驱动级的内核重载,用处很多,懂的人自然会用,已经经过本机测试!!! windows xp SP3下的驱动级的内核重载,用处很多,懂的人自然会用,已经经过本机测试!!! 关键技术 使用了内核级别驱动技术,通过HOOK影子表隐蔽实现了内核重载,在WINDOWSXP_SP3下测试通过,如果使用中出现了蓝屏请根据注释修改代码里面的硬编码!!!!!!!!!! 使用了内核级别驱动技术,通过HOOK影子表隐蔽实现了内核重载,在WINDOWSXP_SP3下测试通过,如果使用中出现了蓝屏请根据注释修改代码里面的硬编码!!!!!!!!!! 使用了内核级别驱动技术,通过HOOK影子表隐蔽实现了内核重载,在WINDOWSXP_SP3下测试通过,如果使用中出现了蓝屏请根据注释修改代码里面的硬编码!!!!!!!!!!
    2022-07-22 13:47:07下载
    积分:1
  • 无人机用电子调速器代码
    无刷电机电子调速器程序是基于PIC微控制器平台开发的,驱动无传感器的无刷电机,通过反电动势检测法检测过零点,最高可支持转速200000RPM(两极)。
    2022-04-01 11:49:36下载
    积分: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
  • 696516资源总数
  • 106409会员总数
  • 8今日下载