#define TC1_RELOADBYCOMPARE 0x08
#define TC_PRESCALER_0 0x00
#define TC_PRESCALER_1 0x01
#define TC_PRESCALER_8 0x02
#define TC_PRESCALER_64 0x03
#define TC_PRESCALER_256 0x04
#define TC_PRESCALER_1024 0x05
// defOCR1A_TC1=7372800./1./(1953.*2)/4.-1 = 471 = 0x01D7
#define defOCR1AH 0x01
#define defOCR1AL 0xD7
#define TC1_Stop(); TCCR1B = TC_PRESCALER_0+TC1_RELOADBYCOMPARE;
#define TC1_Start(); TCCR1B = TC_PRESCALER_1+TC1_RELOADBYCOMPARE;
interrupt [TIMER1_COMPA_vect] void INT_TIMER1()
{
;
}
void C_task main()
{
_CLI();
TC1_Stop();
TIMSK = 0x42;
OCR1AH = defOCR1AH;
OCR1AL = defOCR1AL;
_SEI();
TC1_Start();
//...
}
}