//间隔1ms void SysTimerModule(void) {
static INT16U Sec = 0; static INT8U bOn = 0; if (bSysTimIsDis) return; bSysTimDis; wdt_reset(); wdt_enable(WDTO_2S);
if ( ++Sec > 1000/(1000/TICKS_PER_SEC) ) { Sec = 0;
BitSet(DDRB,PB4); BitSet(DDRB,PB5); BitSet(DDRC,PC0); BitSet(DDRC,PC4); if (bOn) { bOn = 0; BitSet(PORTB,PB4); BitSet(PORTB,PB5); BitSet(PORTC,PC0); BitSet(PORTC,PC4); } else { bOn = 1; BitClr(PORTB,PB4); BitClr(PORTB,PB5); BitClr(PORTC,PC0); BitClr(PORTC,PC4); }
} }
以上为系统计时程序在主程序中循环调用它。
内部时钟频率变化加快1000倍是没可能的! 而且是正好1000倍。我的定时程序又是1ms次,似乎像是。。。
|