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

软件定时器

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

  • OPC客户端VB程序实例
    OPC客户端VB程序实例 利用visual basic 请点击左侧文件开始预览 !预览只提供20%的代码片段,完整代码需下载后查看 加载中 侵权举报
    2022-02-03 04:58:21下载
    积分:1
  • STM32 彩色液晶显示 使用原子3.5寸液晶显示 EMWIN移植实验
    STM32 驱动彩色液晶显示 使用原子3.5寸液晶显示 EMWIN移植实验。
    2022-05-30 07:16:02下载
    积分:1
  • 用jni访问超声波底层的代码
    用jni访问超声波底层驱动的代码,配合超声波驱动使用,使用android studio来开发的
    2022-01-22 07:12:32下载
    积分:1
  • 对象钩示例
    演示关于OBJECT HOOK技术的使用,包含驱动部分和测试用例, 代码简洁,对于学习object hook 很有用
    2022-11-23 15:05:04下载
    积分:1
  • s3c2410 串口通信
    1. PC机通过仿真终端程序完成字符输入和输出和文件传送。 2. 2410BP实验板上的UART驱动软件实现收发和变换,变换包括大写字母变为小写字母,小写字母变为大写字母,非字母家引号。 3. 借助仿真终端的文本文件传送功能向实验板上的UART端口传送文本文件。 4. 发送和接收以查询方式实现。
    2022-02-01 08:09:12下载
    积分:1
  • 商业级二维条码枪源码
    资源描述51内核二维码条形码扫描枪程序
    2022-06-26 00:12:05下载
    积分:1
  • RFID非接触式代码
    RFID有效的驱动代码,c编写,易于移植,适合于各种单片机,此RFID模块位非接触式的,可读写,控制内存块等。该驱动程序已在很多项目中实际应用。
    2022-08-21 07:37:36下载
    积分:1
  • 2.4G射频代码-nRF24L01
    本文件包含GPIO的头文件,以及NRF24l01的驱动代码,只需修改对应的IO口即可,通过SPI总线与射频模块连接,包含SPI的驱动配置函数以及UART的配置驱动函数,可以很方便的修改使用。
    2023-03-17 01:55:04下载
    积分:1
  • Arduino 12864 液晶屏
    经过了一段时间的学习,慢慢的对TFT 有一些些的了解,对于我们这些初学者来说,写驱动那是不可能的事情,唯一能做的就是看得懂驱动是啥、或者是很好的阅读驱动程序即可。如果是应用,那会这些足矣!如果是开发的,那还需要更多的学习和了解。之前群里的Zzz玩过TFT 3.2+mega2560的,只是他时间有点忙吧,没时间出来写测评,我现在能驱动了,就出来说一下是怎么用的吧。欢迎大家一起讨论实验中的问题,毕竟把问题都回答完了就会理解一点的。 介绍 请点击左侧文件开始预览 !预览只提供20%的代码片段,完整代码需下载后查看 加载中 侵权举报
    2022-05-06 13:40:36下载
    积分:1
  • SPI在STM32芯片的应用
    这里面讲述了STM32中SPI的使用,源码里面每一行都有注释,比较详尽,基本上一看就懂。
    2022-02-16 07:08:18下载
    积分:1
  • 696518资源总数
  • 105554会员总数
  • 2今日下载