标题:
TimerCommand.h头文件下载-AVR定时器命令通用头文件
[打印本页]
作者:
daming
时间:
2014-12-30 12:35
标题:
TimerCommand.h头文件下载-AVR定时器命令通用头文件
本帖最后由 daming 于 2014-12-30 12:37 编辑
在代码下方点复制代码,然后另存到电脑磁盘即可下载.
/*****************************************************************************
单 位:广西民族大学物理与电子工程学院07物本班
文件名称:TimerCommand.h
文件标识:_TIMERCOMMAND_H_
摘 要:AVR定时器命令通用头文件
当前版本:V1.0
作 者:【白 羽】
完成日期:2010年11月16日
*****************************************************************************/
#ifndef _TIMERCOMMAND_H_
#define _TIMERCOMMAND_H_
#define Timer0Config(MODE,COM,PRESCALE) \
TCCR0 = WGM0(TimerMode(0,MODE)) | COM0(COM) | CS0(PRESCALE)
#ifndef OCR1C
#define Timer1Config(MODE,COMA,COMB,PRESCALE) \
do{ \
TCCR1A = WGM1L(TimerMode(1,MODE)) | COM1A(COMA) | COM1B(COMB); \
TCCR1B = WGM1H(TimerMode(1,MODE)) | CS1(PRESCALE); \
}while(0)
#else
#define Timer1Config(MODE,COMA,COMB,COMC,PRESCALE) \
do{ \
TCCR1A = WGM1L(TimerMode(1,MODE)) | COM1A(COMA) \
| COM1B(COMB) | COM1C(COMC); \
TCCR1B = WGM1H(TimerMode(1,MODE)) | CS1(PRESCALE); \
}while(0)
#endif
#define Timer2Config(MODE,COM,PRESCALE) \
TCCR2 = WGM2(TimerMode(2,MODE)) | COM2(COM) | CS2(PRESCALE)
#define Timer3Config(MODE,COMA,COMB,COMC,PRESCALE) \
do{ \
TCCR1A = WGM3L(TimerMode(3,MODE)) | COM3A(COMA) \
| COM3B(COMB) | COM3C(COMC); \
TCCR1B = WGM3H(TimerMode(3,MODE)) | CS3(PRESCALE); \
}while(0)
#ifdef OCR0
#define Timer0Period(STEPS) \
do{ \
OCR0 = _OCR0(STEPS); \
TCCR0 = WGM0(TimerMode(0,CTC) | COM0(0) | _CS0(STEPS); \
}while(0)
#endif
#define Timer1Period(STEPS) \
do{ \
OCR1A = _OCR1(STEPS); \
TCCR1B = WGM1H(TimerMode(1,CTC)) | _CS1(STEPS); \
}while(0)
#define Timer2Period(STEPS) \
do{ \
OCR2 = _OCR2(STEPS); \
TCCR2 = WGM2(TimerMode(2,CTC)) | _CS2(STEPS); \
}while(0)
#define Timer3Period(STEPS) \
do{ \
OCR2 = _OCR3(STEPS); \
TCCR3A = WGM3H(TimerMode(3,CTC)) | _CS3(STEPS); \
}while(0)
#define TimerPeriod(X,STEPS) _TimerPeriod(X,STEPS)
#define _TimerPeriod(X,STEPS) Timer##X##Period(STEPS)
#ifndef CPUCLK
#define CPUCLK 8.0
#endif
#define TimerPerioduS(X,t) TimerPeriod(X,(t)*1.0*CPUCLK)
#define TimerPeriodmS(X,t) TimerPeriod(X,(t)*1000.0*CPUCLK)
#endif
复制代码
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1