Witam, jestem swiezy w temacie i borykam sie z przerwaniami - mam nastepujacy kod:
Aby nie robic zbyt duzego pasta usunalem czesci odpowiadajace za wyswietlenie zmiennej na LCD.
Gdy kompiluje dostaje info: 'index' undeclared (first use in this function) ze wskazaniem na zmienna index w przerwaniu. Co jest zle? jak zmodyfikowac kod abym mogl w przerwaniu inkrementowac zmienna index?
#ifndef F_CPU
#define F_CPU 16000000
#endif
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#include <stdlib.h>
ISR(INT0_vect)
{
index++;
}
int main(void)
{
EIMSK = _BV(INT0);
EICRA = _BV(ISC01)|_BV(ISC11);
char index = 50;
sei();
DDRD = 0xFB;
DDRC = 0x00;
do{
if(!(PINC & 0x01))
{
index++;
}
else if(!(PINC & 0x02))
{
index--;
}
if (index>99)
index=10;
if (index<10)
index=99;
}
while(1);
return 0;
}
Aby nie robic zbyt duzego pasta usunalem czesci odpowiadajace za wyswietlenie zmiennej na LCD.
Gdy kompiluje dostaje info: 'index' undeclared (first use in this function) ze wskazaniem na zmienna index w przerwaniu. Co jest zle? jak zmodyfikowac kod abym mogl w przerwaniu inkrementowac zmienna index?