SoftTimer

所属分类:单片机开发
开发工具:C/C++
文件大小:623KB
下载次数:37
上传日期:2011-02-10 09:05:01
上 传 者wjdysu
说明:  C语言实现的软件定时器,基于keil软件环境,可以看看
(C language implementation of the software timers, based on keil software environment, you can see)

文件列表:
SoftTimer\OutPut\core_cm3.crf (3532, 2010-08-10)
SoftTimer\OutPut\core_cm3.d (103, 2010-08-10)
SoftTimer\OutPut\core_cm3.o (9756, 2010-08-10)
SoftTimer\OutPut\main.d (110, 2010-08-10)
SoftTimer\OutPut\misc.crf (262553, 2010-08-10)
SoftTimer\OutPut\misc.d (784, 2010-08-10)
SoftTimer\OutPut\misc.o (285176, 2010-08-10)
SoftTimer\OutPut\rcc.crf (261704, 2010-08-10)
SoftTimer\OutPut\rcc.d (730, 2010-08-10)
SoftTimer\OutPut\rcc.o (284236, 2010-08-10)
SoftTimer\OutPut\softtimer.d (130, 2010-08-10)
SoftTimer\OutPut\SoftTimer.plg (13902, 2010-08-10)
SoftTimer\OutPut\startup_stm32f10x_hd.lst (56211, 2010-08-10)
SoftTimer\OutPut\startup_stm32f10x_hd.o (6312, 2010-08-10)
SoftTimer\OutPut\startup_stm32f10x_hd._ia (208, 2010-08-10)
SoftTimer\OutPut\stm32f10x_it.d (874, 2010-08-10)
SoftTimer\OutPut\stm32f10x_it.__i (209, 2010-08-10)
SoftTimer\OutPut\stm32f10x_rcc.crf (269549, 2010-08-10)
SoftTimer\OutPut\stm32f10x_rcc.d (946, 2010-08-10)
SoftTimer\OutPut\stm32f10x_rcc.o (295908, 2010-08-10)
SoftTimer\OutPut\stm32f10x_rcc.__i (222, 2010-08-10)
SoftTimer\OutPut\system_stm32f10x.crf (263108, 2010-08-10)
SoftTimer\OutPut\system_stm32f10x.d (934, 2010-08-10)
SoftTimer\OutPut\system_stm32f10x.o (285236, 2010-08-10)
SoftTimer\RVMDK\SoftTimer.plg (177, 2010-08-10)
SoftTimer\RVMDK\SoftTimer.uvopt (61528, 2010-08-10)
SoftTimer\RVMDK\SoftTimer.uvproj (16250, 2010-08-10)
SoftTimer\RVMDK\SoftTimer_SoftTimer.dep (5390, 2010-08-10)
SoftTimer\RVMDK\SoftTimer_Target 1.dep (76, 2010-08-10)
SoftTimer\RVMDK\SoftTimer_uvopt.bak (61508, 2010-08-10)
SoftTimer\RVMDK\SoftTimer_uvproj.bak (0, 2010-08-10)
SoftTimer\src\CONFIG.H (3142, 2010-08-10)
SoftTimer\src\main.c (4462, 2010-08-10)
SoftTimer\src\RCC.c (1300, 2010-08-10)
SoftTimer\src\SoftTimer.c (9594, 2010-08-10)
SoftTimer\src\SoftTimer.H (6584, 2003-03-30)
SoftTimer\src\SoftTimer1.h (2677, 2010-08-10)
SoftTimer\src\stm32f10x_it.c (23255, 2010-08-10)
SoftTimer\src\STM32Lib\core_cm3.c (16249, 2009-04-06)
... ...

软定时器模块的使用 本软定时器模快所通过一个唯一的索引(即序号)来表识每一个软定时器,这个序号从0到MAX_SOFT_TIMER-1 ,最多为255个。要使用软定时器模块,首先需要让软定时器管理任务运行起来。软定时器管理任务的函数名称为SoftTimer,所以只需要Small RTOS的要求在Config.h的数组TaskFuction加上SoftTimer项即可。因为软定时器执行的任务时间等因素不确定,所以一般把这个任务优先级定得比较低。 要使用软定时器模块,还需要定义几个宏以便配置软定时器,这几个宏分别是SOFT_TIMER_MEM_SEL、MAX_SOFT_TIMER、SOFT_TIMER_TASK_ID和EN_SOFT_TIMER_CHK。用户可以在config.h中将这几个宏定义为合适自己需要的值。 宏SOFT_TIMER_MEM_SEL用来设置软定时器使用得存储器空间,可选的值为xdata、idata和data。如果不是在Keil C51中使用,SOFT_TIMER_MEM_SEL定义为空格。宏MAX_SOFT_TIMER用来设置软定时器的最大数目,如果为0,则不编译本模块。宏SOFT_TIMER_TASK_ID用来声明给软定时器处理任务分配的ID。将EN_SOFT_TIMER_CHK定义为0,编译的代码会小一些,但是接口函数不再对参数进行校验。将EN_SOFT_TIMER_CHK定义为1则正好相反。 要使用软定时器模块首先需要初始化软定时器模块,这是通过调用函数InitSoftTimer()实现。初始化后,就可以调用函数SoftTimerRun()来运行一个软定时器,或是调用函数SoftTimerStop()来停止一个定时器。 例子代码: 本例是软定时器模块在DP-51上使用的示例。本例执行后,在DP-51下载仿真实验仪上的LED数码显示器上显示运行的时间(分和秒),有两个发光二极管每秒闪动一次,LED数码显示器每四秒闪动一次。 注意:(1)在KEIL C51 工程中,我已经把输出文件目录设在e:\temp中,您可以在Project->Options for Target "Target 1"的output页点击Select Folder for Objects...和Listing页点击Select Folder for Listing...改变. (2)编译时会有3个警告,可以忽略. (3)DP-51下载仿真实验仪的所有跳线选取默认值。

近期下载者

相关文件


收藏者