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

软件定时器

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

  • 51单片机基础 AD DA 转换
    资源描述51单片机基础 AD DA 转换,详细的程序,包括工程文件 .h 文件 .c文件 
    2022-07-07 13:53:35下载
    积分:1
  • delphi vc 防火墙
    采用VC++和Delphi两种编程工具,设计出的一个基于TDI、FireWall-Hook双层过滤的防火墙。界面基于Delphi,驱动基于VC++.程序过滤采用TDI,IP过滤采用FireWall-HOOK.
    2022-03-25 09:21:09下载
    积分:1
  • RoboMasters_Main_Control
    应用背景本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。 STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。 有关订购信息以及器件的机械与电气特性,请参见数据手册。 有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。关键技术意法半导体网站 (http://www.st.com) 提供以下文档: ■ STM32F40x 和 STM32F41x 数据手册 ■ STM32F42x 和 STM32F43x 产品简介 ■ 有关带 FPU 的 ARM Cortex™-M4 内核的信息,请参见《STM32F3xx/F4xxx Cortex™- M4 编程手册》(PM0214)。
    2023-04-12 20:20:08下载
    积分:1
  • WMI扫描
    ——主机上安装的驱动程序--WMI是Windows 2K/XP管理系统的核心;对于其他的Win32操作系统,WMI是一个有用的插件。WMI以CIMOM为基础,CIMOM即公共信息模型对象管理器(Common Information Model Object Manager),是一个描述操作系统构成单元的对象数据库,为MMC和脚本程序提供了一个访问操作系统构成单元的公共接口。此程序可以扫描到——主机上安装的驱动程序
    2023-02-13 13:35:04下载
    积分:1
  • PCI编程实例
    PCI驱动编程实例,通过PCI可实施操作: 2、通过DMA方式往SDRAM写数据的步骤: (1) 往OMB1写传输数据次数 (2) 往OMB2写所要访问的SDRAM地址 (3) 往FIFO写2 3、通过DMA方式从SDRAM读数据的步骤: (1) 往OMB1写传输数据次数 (2) 往OMB2写所要访问的SDRAM地址 (3) 往FIFO写
    2022-10-02 06:10:03下载
    积分:1
  • pc机串口通信
    资源描述      比较适合初学者的串口通信。本程序利用windows的API完成串口的打开、读写。程序通过测试,可以完成对连接在PC端的串口设备的控制。同时编写的代码比较简单,通过对本程序的学习,可以初步掌握windows的串口驱动编程。
    2022-04-02 02:18:01下载
    积分:1
  • BLDC 有霍尔
    基于 SUNPLUS 的 BLDC 驱动详细讲解,希望对于研究 BLDC 驱动器的同仁们有所帮助; 同时个人觉得也是非常不错的入门资料!
    2022-03-02 19:00:29下载
    积分:1
  • tiny6410裸机程序完整版
    友善的arm11开发板的裸机程序,makefile编译,启动代码都是自己写的,功能有DDR,串口,flash,lcd,定时器,终端等 可以直接编译运行,nand为slc128M的,lcd为n43
    2022-08-10 12:25:48下载
    积分:1
  • Atheros AR6001 CE Source Code
    用于支持Atheros AR6001芯片的Windows CE驱动源码。支持CE 5, CE 6, 同时支持SDIO接口和CF接口。驱动支持WPA加密算法,包括WEP/TKIP/AES-CCMP。支持shared-key和EAP-TLS认证算法。
    2022-01-25 18:28:45下载
    积分:1
  • ziggbee 程序
    资源描述zigbee 程序实现近距离通讯传输,是实现智能家居的优选联网方式。
    2022-01-30 13:41:32下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载