📄 timer.h
字号:
/** @file timer.h
* @brief LPC2200 Timer n驅動程序
* @Notice 采用中斷方式, 如有问题请联系作者
* @Author Mars.zhu@hotmail.com 2007-7-6 17:03
* @Modify
*/
#ifndef __TIMER_H
#define __TIMER_H
#ifdef __cplusplus
extern "C" {
#endif
/** 中斷相關結構*/
typedef struct {
uint8 VIC_no; /** 向量中斷通道號*/
uint8 VIC_type; /** 中斷類型, 0 IRQ, 1 FIQ*/
uint32 ISR; /** 中斷服務程序*/
} INT_ATTR;
/** @func TnMR_Init()
* @brief 定时器n初始化
* @param Tn 定時器選擇
* ms 定時時間
* @Retval void
*/
void TnMR_Init(uint8 Tn, uint16 ms);
/** @func TnCAP_Init()
* @brief 定时器n捕获模式初始化
* @param Tn 定時器選擇
* CAP_MODE 捕获方式,按位操作方式
* bit0:1--CAP上跳沿捕获
* bit1:1--CAP下降沿捕获
* CAPn 捕获通道选择,0~3
* @Retval void
*/
void TnCAP_Init(uint8 Tn, uint8 CAP_MODE, uint8 CAPn);
/** @func TnMAT_Init()
* @brief 定时器n匹配模式初始化
* @param Tn 定時器選擇
* time 匹配时间,该值会直接写入到匹配寄存器中
* T_MODE 匹配控制模式
* 0: 匹配时,定时器复位
* 1: 匹配时,定时器停止
* EXT_MODE 匹配时,外部输出控制
* 0: 不执行任何动作
* 1: 外部匹配输出0
* 2: 外部匹配输出1
* 3: 外部匹配输出翻转
* MATn 匹配通道选择,0~3
* @Retval void
*/
void TnMAT_Init(uint8 Tn, uint32 time, uint8 T_MODE, uint8 EXT_MODE, uint8 MATn);
/** @func TnCNT_Init()
* @brief 计数器n初始化
* @param Tn 定時器選擇
* MODE 计数器模式选择
* 0: CAPn的上升沿计数
* 1: CAPn的下降沿计数
* 2: CAPn上升沿和下降沿都计数
* CAPn 计数器输入端0~3
* @Retval void
*/
void TnCNT_Init(uint8 Tn, uint8 MODE, uint8 CAPn);
void TnPWM_Init(uint8 ch, uint32 Cyc, uint32 H_time);
/** @func TnPWM_Flush()
* @brief 重设PWM信号占空比
* @param ch PWM 通道号
* time PWM 高电平时间
* @Retval void
*/
void TnPWM_Flush(uint8 ch, uint32 time);
#ifdef __cplusplus
}
#endif
#endif /** __TIMER_H*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -