⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 timer.h

📁 philips arm7 lpc2103的常用功能的库函数第二部分
💻 H
字号:
/***********************************************Copyright (c)*********************************************
**                                Guangzou ZLG-MCU Development Co.,LTD.
**                                     
**                                       http://www.zlgmcu.com
**
**--------------File Info---------------------------------------------------------------------------------
** File name:			    Timer.h
** Last modified Date:      2007-10-24
** Last Version:		    1.0
** Descriptions:		    定时器功能部件 头文件,供用户使用.
**
**--------------------------------------------------------------------------------------------------------
** Created by:			    WangGuoguang
** Created date:		    2007-10-24
** Version:				    1.0
** Descriptions:		    此头文件可在config.h中包含.
**
**--------------------------------------------------------------------------------------------------------
** Modified by:			    
** Modified Date:		    
** Version:				    
** Descriptions:		    
**
*********************************************************************************************************/

#ifndef __TIMER_H
#define __TIMER_H

/*********************************************************************************************************
  TIMER 软件包裁剪 
*********************************************************************************************************/

#define TIMER_FUN_LIB        1                                     
                                                                      
/*********************************************************************************************************
  TIMER 定义 (定义更多的编号是为了以后移植扩展)
*********************************************************************************************************/

#define TIME_0               0                                           /*  TIME 0 编号                */
#define TIME_1               1                                           /*  TIME 1 编号                */
#define TIME_2               2                                           /*  TIME 2 编号                */
#define TIME_3               3                                           /*  TIME 3 编号                */

/*********************************************************************************************************
** Function name:      timerTimeInit
** Descriptions:       定时器定时功能初始化
** Input parameters:   uiID  --部件设备号 :0-Time0;1-Time1
**			           pcArg --字符串输入指针参数,输入参数格式为:关键字0=值0[空格]关键字1=值1[空格]......
**                             关键字 :TimeOut:定时时间值,以微秒为单位,输入范围为1us~10000000us
**                     pRsv  --保留指针参数,可输入NULL.
** Output parameters:  OPERATE_FAIL    -- 操作失败
** Returned value:     OPERATE_SUCCESS -- 操作成功
*********************************************************************************************************/

uint32    timerTimeInit (uint32 uiID,
                         char  *pcArg,
                         void  *pRsv);

/*********************************************************************************************************
** Function name:      timerStart
** Descriptions:       启动定时器
** Input parameters:   uiID  --部件设备号 :0-Time0;1-Time1		          
**                     pRsv  --保留指针参数,可输入NULL.
** Output parameters:  OPERATE_FAIL    -- 操作失败
** Returned value:     OPERATE_SUCCESS -- 操作成功
*********************************************************************************************************/
 
uint32    timerStart (uint32 uiID, void  *pRsv);

/*********************************************************************************************************
** Function name:      timerStop
** Descriptions:       停止定时器
** Input parameters:   uiID  --部件设备号 :0-Time0;1-Time1		          
**                     pRsv  --保留指针参数,可输入NULL.
** Output parameters:  OPERATE_FAIL    -- 操作失败
** Returned value:     OPERATE_SUCCESS -- 操作成功
*********************************************************************************************************/

uint32    timerStop (uint32 uiID, void  *pRsv);

/*********************************************************************************************************
** Function name:      timeReset
** Descriptions:       复位定时器
** Input parameters:   uiID  --部件设备号 :0-Time0;1-Time1		          
**                     pRsv  --保留指针参数,可输入NULL.
** Output parameters:  OPERATE_FAIL    -- 操作失败
** Returned value:     OPERATE_SUCCESS -- 操作成功
*********************************************************************************************************/

uint32    timeReset (uint32 uiID, void  *pRsv);

/*********************************************************************************************************
** Function name:    timerMatInit
** Descriptions:     定时器用作匹配功能的初始化
**
** Input parameters: uiID  -- 部件设备号。0-Time0;1-Time1
**			         pcArg -- 字符串输入指针参数,输入参数格式为:关键字0=值0[空格]关键字1=值1[空格]......
**                   关键字  T_C       :0表示用内部计数器进行匹配,1表示用外部计数进行匹配 
**                           CountN    :计数采样通道选择,0~3分别表示通道0(CAPn.0)至通道3(CAPn.3),当T_C等于0时无意义   
**                           CountMode :计数控制模式,0表示CAP输入的上升沿递增计数,
**                                                     1表示CAP输入的下降沿递增计数,
**                                                     2表示CAP输入的上下沿都可以进行计数,当T_C等于0时无意义 
**                           MatN      :匹配通道选择,0~3分别表示通道0至通道3
**                           MatTime   :当T_C等于0时表示时间匹配,输入500表示500us时匹配,以微秒为单位,输入范围为1 us~10000000us
**                                       当T_C等于1时表示计数匹配,输入100表示对外部计数100次时匹配,输入范围为1~1000000000
**                           
**                           MatCtrlMode:匹配控制模式,0表示匹配时定时器既不复位也不停止,
**                                                      1表示匹配时定时器复位,
**                                                      2表示匹配时定时器停止工作
**                           MatInt    :中断使能,0表示匹配时不产生中断,1表示匹配时产生中断
**                           MatOut    :匹配时外部引脚输出模式,0表示不执行任何动作,
**                                                               1表示匹配输出低电平,
**                                                               2表示匹配输出高电平,
**                                                               3表示匹配时翻转
**                   pRsv --保留指针参数,可输入NULL.
** Returned value:   OPERATE_FAIL    -- 操作失败
**                   OPERATE_SUCCESS -- 操作成功
** Using example:    char pcArg[] = "T_C=0 CountN=0 CountMode=0 MatN=0 MatTime=500 MatCtrlMode=0 MatInt=0 MatOut=3";
**		             timerMatInit( 0, pcArg, NULL );       
** Notice:           设备操作失败的原因是输入不正确的定时器号或输入不正确的参数
**                   定时器匹配可通过内部定时或对外部计数进行匹配
**                   本API函数的参数是在FPCLK=11059200Hz的频率下设置的   
*********************************************************************************************************/

uint32    timerMatInit (uint32  uiID,
                        char   *pcArg,
                        void   *pRsv);

/*********************************************************************************************************
** Function name:    timerCapInit
** Descriptions:     定时器捕获功能初始化
**
** Input parameters: uiID -- 部件设备号:0-Time0;1-Time1
**			         pcArg-- 字符串输入指针参数,输入参数格式为:关键字0=值0[空格]关键字1=值1[空格]......
**                           关键字  CapN:   捕获通道选择,0~3分别表示通道0至通道3
**                                   CapMode:捕获控制模式,0表示上升沿捕获,
**                                                         1表示下降沿捕获,
**                                                         2表示上下沿都可以捕获
**                                   CapInt: 中断使能,0表示捕获时不产生中断,1表示捕获时产生中断
**                   pRsv --保留指针参数,可输入NULL.
** Returned value:   OPERATE_FAIL    -- 操作失败
**                   OPERATE_SUCCESS -- 操作成功
** Using example:    char pcArg[] = "CapN=2 CapMode=1 CapInt=0";
**                   timeCapInit( 0, pcArg, NULL );
** Notice:           设备操作失败的原因是输入不正确的定时器号或输入不正确的参数
**********************************************************************************************************/

uint32    timerCapInit (uint32 uiID,
                       char   *pcArg,
                       void   *pRsv); 

/*********************************************************************************************************
** Function name:    timerGetCap
** Descriptions:     获取选定捕获寄存器值
**
** Input parameters: uiID  --部件设备号。0-Time0;1-Time1
**                   pcArg --字符串输入指针参数,输入参数格式为:关键字0=值0[空格]关键字1=值1[空格]......
**                           关键字 :CapGetN :0~3分别表示通道CR0至通道CR3
**                   pRsv  --保留指针参数,可输入NULL.
** Returned value:   操作失败 --OPERATE_FAIL 
**                   操作成功 --返回所选择的捕获通道数值.
** Using example :   char pcArg[] = "CapGetN=0";
**                   timerGetCap( 0, pcArg, 0 );
** Notice:           设备操作失败的原因是输入不正确的定时器号或参数
*********************************************************************************************************/

uint32    timerGetCap (uint32 uiID,
                      char   *pcArg,
                      void   *pRsv);

/*********************************************************************************************************
** Function name:    timerCountInit( )
** Descriptions:     定时器外部计数功能初始化
**
** Input parameters: uiID  --部件设备号。0-Time0;1-Time1
**			         pcArg --字符串输入指针参数,输入参数格式为:关键字0=值0[空格]关键字1=值1[空格]......
**                          关键字 :CntN :计数采样通道选择,0~3分别表示通道0(CAPn.0)至通道3(CAPn.3)
**                                   CntMode :计数控制模式,  0表示CAP输入的上升沿递增计数,
**                                                             1表示CAP输入的下降沿递增计数,
**                                                             2表示CAP输入的上下沿都可以进行计数
**                   pRsv --保留指针参数,可输入NULL.
** Returned value:   OPERATE_FAIL    -- 操作失败
**                   OPERATE_SUCCESS -- 操作成功
** Using example :   char pcArg[] = "CntN=2 CntMode=1";
**                   timerCountInit( 0, pcArg, NULL );
** Notice:           设备操作失败的原因是输入不正确的定时器号
*********************************************************************************************************/

uint32    timerCountInit (uint32 uiID,
                         char   *pcArg,
                         void   *pRsv);       

/*********************************************************************************************************
** Function name:    timerGetCount
** Descriptions:     获取定时器对外部计数值
**
** Input parameters: uiID  --部件设备号。0-Time0;1-Time1
**                   pRsv  --保留指针参数,可输入NULL.
** Returned value:   OPERATE_FAIL    -- 操作失败
**                   OPERATE_SUCCESS -- 操作成功
** Using example :   count = timerGetCount( 0, NULL ); 其中,count为一个uint32整型, 保存timerGetCount返回值
** Notice:           设备操作失败的原因是输入不正确的定时器号或参数      
*********************************************************************************************************/

uint32    timerGetCount (uint32 uiID, void *pRsv);
             
/*********************************************************************************************************
** Function name:           timer0ISR
** Descriptions:            库函数默认的中断服务函数,进行timer0中断处理,该函数挂接了钩子函数可处理用户任务.
** Input parameters:        NONE
** Output parameters:       NONE
** Returned value:          NONE
** Notice:                  在调用中断服务函数之前,必须先有相关功能设置的初始化操作!
*********************************************************************************************************/

void timer0ISR (void);

/*********************************************************************************************************
** Function name:           timer1Irq
** Descriptions:            库函数默认的中断服务函数,进行timer1中断处理,该函数挂接了钩子函数可处理用户任务.
** Input parameters:        NONE
** Output parameters:       NONE
** Returned value:          NONE
** Notice:                  在调用中断服务函数之前,必须先有相关功能设置的初始化操作!
*********************************************************************************************************/

void timer1ISR (void);





#endif                                                                  /*  __TIMER_H                   */
/*********************************************************************************************************
  END
*********************************************************************************************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -