Witam szanownych kolegów
Borykam się od pewnego czasu z regulatorem PID na Atmege8. Atmel dostarcza biblioteki ale wymagają one przeróbek, po dokonaniu kilku okazało się że coś jest nie tak i program się nie kompiluje (gdzieś tkwi błąd), prześledziłem kod i może ktoś bardziej obeznany z językiem będzie w stanie pomóc i wyłapać błąd.
pid_cy.c
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
pid.c
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
pid.h
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
wynik z konsoli
warning: ignoring #pragma vector
../pid_cy.c:67: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'void'
../pid_cy.c: In function 'Get_Reference':
../pid_cy.c:97: warning: implicit declaration of function 'temp_zad'
../pid_cy.c: In function 'Get_Measurement':
../pid_cy.c:109: warning: implicit declaration of function 'ds18b20_ConvertT'
../pid_cy.c:112: warning: implicit declaration of function 'ds18b20_Read'
make: *** [pid_cy.o] Error 1
niepokoi mnie fragment
#pragma vector = TIMER0_OVF_vect
__interrupt void TIMER0_OVF_ISR( void )
jak się domyślam jest to związane z przerwaniem tyle że w tej czerwonej linii eclips wskazuje błąd.
Kolejnym pytaniem jest zezwolenie na przerwanie jak się ono odbywa ( linia __enable interrupt ?).
Mam nadzieję że ktoś z was jest w stanie mi pomóc z tym niechlujnym (przez to że jestem nowicjuszem) kodem
Pozdrawiam