ponyprog2000 fuse bit설정에서
ckopt를 체크하여야하는데 그냥너머가서 고생함.
시리얼로 전혀 메세지가 안나옴.
왜냐하면 디폴트 내부 1mhz로 동작하고 있었슴.
현재 atmega32 사용중임.
#define F_OSC 16000000 /* oscillator-frequency in Hz */
#define TICK_COUNT 100
#define UART_BAUD_RATE 9600
#define UART_BAUD_CALC(UART_BAUD_RATE,F_OSC) ((F_OSC)/((UART_BAUD_RATE)*16l)-1)
//////////////////////////////////////////////////////////////////////////////////////////
10msec를 베이스로 깔고 앞으로 유용하게 사용할 예정임.
약간의 오차 발생함.
#define TIMERINI 256-(F_OSC/1024/TICK_COUNT)
SIGNAL(SIG_OVERFLOW0)
{
// cli();
TCNT0 = TIMERINI;
current_tick++;
t0_flag = 1;
if(!(current_tick%100))
PORTB ^= (1 << PB7); //led 제어
// sei();
}
void timer_init(void)
{
TCCR0 = (1<<CS02)|(0<<CS01)|(1<<CS00); //prescaler = 1024
TCNT0 = TIMERINI; // 10msec
TIMSK = (1<<TOIE0); // start counter (enable interrupt)
}
Tskit