標(biāo)題:
TimerCommand.h頭文件下載-AVR定時(shí)器命令通用頭文件
[打印本頁(yè)]
作者:
daming
時(shí)間:
2014-12-30 12:35
標(biāo)題:
TimerCommand.h頭文件下載-AVR定時(shí)器命令通用頭文件
本帖最后由 daming 于 2014-12-30 12:37 編輯
在代碼下方點(diǎn)復(fù)制代碼,然后另存到電腦磁盤(pán)即可下載.
/*****************************************************************************
單 位:廣西民族大學(xué)物理與電子工程學(xué)院07物本班
文件名稱:TimerCommand.h
文件標(biāo)識(shí):_TIMERCOMMAND_H_
摘 要:AVR定時(shí)器命令通用頭文件
當(dāng)前版本: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
復(fù)制代碼
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1