Страница 1 из 1

Atmega48

Добавлено: Ср апр 02, 2014 16:07:52
Niksonn19
Добрый день уважаемые
Подскажите пожалуйста пишу прогу для Atmega48 ( нужно по курсовой работе)
не проходит каманда " TIMSk" для прерывания подскажите пожалуйста мою ошибку в коде
#define F_CPU 16000000L

#include <avr/io.h>
#include <avr/interrupt.h>

int main (void)
{
DDRD |= 255;
TCCR1B|=1<<CS11;
TCNT1H=0xFF;
TCNT1L=0xFF-0x14+1;
TCCR1B|=(1<<WGM12|1<<WGM13);
TIMSK|=1<<TOIE1;
sei();
while(1)
{
PORTD=64;
}
}
int count=255;
ISR (TIMER1_OVF_vect)
{
TCNT1H=0xFF;
TCNT1L=0xFF-0x14+3;
count--;
PORTD=count;
if(count==0) count=255;
sei();
}

Re: Atmega48

Добавлено: Ср апр 02, 2014 16:11:13
Niksonn19
Изображение

Re: Atmega48

Добавлено: Ср апр 02, 2014 16:12:01
ploop
Да потому, что даташит иногда надо открывать. Там этих регистра два: TIMSK1 и TIMSK2
Какой бит в каком - не помню, смотрите в даташите.