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

📄 timer.h

📁 philips arm7 lpc2103的常用功能的库函数第二部分
💻 H
📖 第 1 页 / 共 2 页
字号:
/***********************************************Copyright (c)*********************************************
**                                Guangzou ZLG-MCU Development Co.,LTD.
**                                     
**                                       http://www.zlgmcu.com
**
**--------------File Info---------------------------------------------------------------------------------
** File name:               Timer.c
** Last modified Date:      2007-11-05
** Last Version:		    2.0
** Descriptions:		    定时器函数实现,采用设备描述符来操作
**
**--------------------------------------------------------------------------------------------------------
** Created by:			    WangGuoguang
** Created date:		    2007-10-31
** Version:				    1.0
** Descriptions:		    此头文件可在config.h中包含.
**
**--------------------------------------------------------------------------------------------------------
** Modified by:             WangGuoguang 
** Modified Date:		    2007-11-05
** Version:	                2.0
** Descriptions:		    增加关中断保护设置处理. 
**
**--------------------------------------------------------------------------------------------------------
** Modified by:             gaolihua 
** Modified Date:		    2008-04-22
** Version:	                3.0
** Descriptions:		    增加定时器0、1、2、3的PWM功能函数和定时器2、3的中断服务函数的声明 
**
*********************************************************************************************************/
#ifndef __TIMER_H
#define __TIMER_H

/*********************************************************************************************************
  TIMER 软件包裁剪 
*********************************************************************************************************/
#ifndef TIMER_FUN_LIB
#define TIMER_FUN_LIB        1                                     
#endif 
                                                                     
/*********************************************************************************************************
  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;2-Time2;3-Time3
**			           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:      timerPWMInit
** Descriptions:       定时器定时功能初始化
** Input parameters:   uiID  --部件设备号 :0-Time0;1-Time1;2-Time2;3-Time3
**                     pcArg --字符串输入指针参数,输入参数格式为:关键字0=值0[空格]关键字1=值1[空格]......
**                     关键字 :PWMn:PWM输出通道
                       关键字 :MATn_Value:PWM匹配寄存器值
                       关键字 :PR_data:预分频寄存器值     
                       关键字 :PWM_Cyc:定时时间值,以微秒为单位,输入范围为1us~100000000us
                               
**                     pRsv  --保留指针参数,可输入NULL.
** Output parameters:  OPERATE_FAIL    -- 操作失败
** Returned value:     OPERATE_SUCCESS -- 操作成功
**
** Using example :     char pcArg[] = "MATn_Value=50 PWM_Cyc=100";
**                     timerPWMInit( 0, pcArg, NULL );    表示用定时器0,且周期100us,占空比为50us
** Notice:             设备操作失败的原因是输入不正确的定时器号,PWM采用MR3作为周期控制寄存器,PWMn作为占空比控  

                     制寄存器
**                     本API函数的参数是在FPCLK=11059200Hz的频率下设置的
*********************************************************************************************************/
uint32    timerPWMInit (uint32 uiID,
                         char  *pcArg,
                         void  *pRsv);
/*********************************************************************************************************
** Function name:      timerStart
** Descriptions:       启动定时器
** Input parameters:   uiID  --部件设备号 :0-Time0;1-Time1;2-Time2;3-Time3		          
**                     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;2-Time2;3-Time3		          
**                     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;2-Time2;3-Time3		          
**                     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;2-Time2;3-Time3
**			         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表示匹配时产生中断

⌨️ 快捷键说明

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