Смысл в том, что при start == 1 начинается считывание показаний с датчика холла в переменную schet. Всё это находится в main.
Так вот, необходимо сделать так: если при start == 1 в течении 1 секунды переменная schet остаётся неизменной, то переменная error = 2;.
Без применения прерываний код работает, но как только я добавляю их , то в итоге пишет на строку с "ISR (TIMER1_COMPA_vect)" такое ругательство: "Error: : declaration syntax error"
Сейчас код прерывания имеет такой вид (всё это находится перед main):
Код: Выделить всё
ISR (TIMER1_COMPA_vect)
{
if (start == 1) {
if (koordold == schet) {start = 3; error = 2;} else {koordold = schet;}};
}
TCCR1A = 0x00;
TCCR1B = (1 << CS12)|(0 << CS11)|(1 << CS10)|(1 << WGM12);
TCNT1 = 0x00;
OCR1A = 7812;
TIMSK |= (1 << OCIE1A);
Да кстати, совсем забыл... Это всё делается на CVAVR. Все примеры которыя я нашёл в нете были для WINAVR, поэтому пришлось немного править, но по ходу и это не помогло
