/*****************************************************************************
文件名称:TimerMode.h
文件标识:_TIMERMODE_H_
摘 要:AVR定时器工作模式名称定义
*****************************************************************************/
#ifndef _TIMERMODE_H_
#define _TIMERMODE_H_
#define TimerMode(X,MODE) _TimerMode(X,MODE)
#define _TimerMode(X,MODE) TIMER##X##_##MODE
//以名称命名
#define TIMER0_NORMAL 0 //普通模式
#define TIMER0_PPWM 1 //相位可调PWM
#define TIMER0_CTC 2 //CTC模式
#define TIMER0_PWM 3 //快速PWM
#define TIMER1_NORMAL 0 //普通模式
#define TIMER1_PPWM8 1 //8位相位可调PWM
#define TIMER1_PPWM9 2 //9位相位可调PWM
#define TIMER1_PPWM10 3 //10位相位可调PWM
#define TIMER1_CTC 4 //CTC模式
#define TIMER1_PWM8 5 //8位快速PWM
#define TIMER1_PWM9 6 //9位快速PWM
#define TIMER1_PWM10 7 //10位快速PWM
#define TIMER1_PFPWM_ICR1 8 //ICR1为TOP的相频可调PWM
#define TIMER1_PFPWM_OCR1A 9 //OCR1A为TOP的相频可调PWM
#define TIMER1_PPWM_ICR1 10 //ICR1为TOP的相位可调PWM
#define TIMER1_PPWM_OCR1A 11 //OCR1A为TOP的相位可调PWM
#define TIMER1_CTC_ICR1 12 //ICR1为匹配值的CTC模式
#define TIMER1_SAVE 13 //保留
#define TIMER1_PWM_ICR1 14 //ICR1为TOP值的快速PWM
#define TIMER1_PWM_OCR1A 15 //OCR1A为TOP值的快速PWM
#define TIMER2_NORMAL 0 //普通模式
#define TIMER2_PPWM 1 //相位可调PWM
#define TIMER2_CTC 2 //CTC模式
#define TIMER2_PWM 3 //快速PWM
#define TIMER3_NORMAL 0 //普通模式
#define TIMER3_PPWM8 1 //8位相位可调PWM
#define TIMER3_PPWM9 2 //9位相位可调PWM
#define TIMER3_PPWM10 3 //10位相位可调PWM
#define TIMER3_CTC 4 //CTC模式
#define TIMER3_PWM8 5 //8位快速PWM
#define TIMER3_PWM9 6 //9位快速PWM
#define TIMER3_PWM10 7 //10位快速PWM
#define TIMER3_PFPWM_ICR1 8 //ICR3为TOP的相频可调PWM
#define TIMER3_PFPWM_OCR1A 9 //OCR3A为TOP的相频可调PWM
#define TIMER3_PPWM_ICR1 10 //ICR3为TOP的相位可调PWM
#define TIMER3_PPWM_OCR1A 11 //OCR3A为TOP的相位可调PWM
#define TIMER3_CTC_ICR1 12 //ICR3为匹配值的CTC模式
#define TIMER3_SAVE 13 //保留
#define TIMER3_PWM_ICR1 14 //ICR3为TOP值的快速PWM
#define TIMER3_PWM_OCR1A 15 //OCR3A为TOP值的快速PWM
//以数字命名
#define TIMER0_0 0 //普通模式
#define TIMER0_1 1 //相位可调PWM
#define TIMER0_2 2 //CTC模式
#define TIMER0_3 3 //快速PWM
#define TIMER1_0 0 //普通模式
#define TIMER1_1 1 //8位相位可调PWM
#define TIMER1_2 2 //9位相位可调PWM
#define TIMER1_3 3 //10位相位可调PWM
#define TIMER1_4 4 //CTC模式
#define TIMER1_5 5 //8位快速PWM
#define TIMER1_6 6 //9位快速PWM
#define TIMER1_7 7 //10位快速PWM
#define TIMER1_8 8 //ICR1为TOP的相频可调PWM
#define TIMER1_9 9 //OCR1A为TOP的相频可调PWM
#define TIMER1_10 10 //ICR1为TOP的相位可调PWM
#define TIMER1_11 11 //OCR1A为TOP的相位可调PWM
#define TIMER1_12 12 //ICR1为匹配值的CTC模式
#define TIMER1_13 13 //保留
#define TIMER1_14 14 //ICR1为TOP值的快速PWM
#define TIMER1_15 15 //OCR1A为TOP值的快速PWM
#define TIMER2_0 0 //普通模式
#define TIMER2_1 1 //相位可调PWM
#define TIMER2_2 2 //CTC模式
#define TIMER2_3 3 //快速PWM
#define TIMER3_0 0 //普通模式
#define TIMER3_1 1 //8位相位可调PWM
#define TIMER3_2 2 //9位相位可调PWM
#define TIMER3_3 3 //10位相位可调PWM
#define TIMER3_4 4 //CTC模式
#define TIMER3_5 5 //8位快速PWM
#define TIMER3_6 6 //9位快速PWM
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』