Ребят, прошу вашей помощи. Сам не могу допереть.
Работаю в AtmelStudio 6.1
Код под atmega16
Код
#define F_CPU 16000000
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
ISR(TIMER0_OVF_vect){
PORTB &= ~(1 << PINB4);
_delay_ms(50);
}
int main(void)
{
TIMSK = (1 << TOIE0);
TCCR0 = (1 << CS00);
asm("sei");
while(1)
{
PORTB = (1 << PINB4);
}
}
Дело в том, что если симулировать в самой студии, то при переполнении счётчика по идее должно сработать прерывание, но этого не происходит, флаг TOV0 устанавливается. Если файл программы попробовать симулировать в Proteus 7.7 то прерывание срабатывает, но из него не выходит, то есть зацикливается на нём.
Прошу помощи и сильно не пинать