Jak napisać przerwać podprogramu PIC z kompilatorem C18

E

eepty

Guest
Czytałem kilka przykładów kodu i pisać po przerwać podprogramu, ale kompilator C18 mi powiedzieć, że wystąpił błąd składni. Komunikat o błędzie:
C: \\ Documents and Settings \\ Administrator \\ Desktop \\ Software Project \\ Rev0.03 \\ main.c: 421: Błąd: błąd składni
Ja to kod wystarczy postępować zgodnie z main ()
Code:
 void przerwać MyInterruptRoutine (void) {INTCONbits.GIE = 0 / / wyłączenie przerwania tymczasowo globalne / odbiornik USART Interrupt ----------- if (PIR1bits.RC1IF = 1) {read_UART () ; debug_RX = UART_RX_data [0];} INTCONbits.GIE = 1;}
Jaki jest problem? Dzięki!
 
Tylko domyślać - powinny "readUART ();" być "readUART1 ()"? Wszystkie inne odniesienia do UART mieć numer umieszczony, że nie. Brian.
 
tylko domyślać - powinny "readUART ();" być "readUART1 ()"? Wszystkie inne odniesienia do UART mieć numer umieszczony, że nie. Brian.
read_UART () podprogramu jest napisany przeze mnie. Ja tylko staram się zmienić
nieważne przerwać MyInterruptRoutine (void)
na
nieważne przerwanie (void)
disapper błąd składni, ale nie wiem czy to jest prawidłowe wdrożenie przerwanie procedury. Również staram się skompilować przy pomocy kompilatora Hi-Tech, stwierdził, że nie akceptuje
nieważne przerwanie (void)
 
mój PIC18 USART przerwać kod wygląda mniej więcej tak
Code:
 # pragma interruptlow HighISR nieważne HighISR (void) {if (PIR1bits.RCIF) uartInterrupt () / / znak USART otrzymał? inny //*************************************** / / Wejście zewnętrzne przerwania Pin (RPM PIN) //*************************************** if (INTCONbits.INT0IE & & INTCONbits . INT0IF) / / przerwanie INT0? INT0interrupt () / / jeśli tak, to połączenie licznika impulsów funkcji}
i przerwania usługi rutynowe
Code:
 / / nazywa na odbiorniku przerwać nieważne uartInterrupt (void) {PIR1bits.RCIF = 0; / / jasne przerwać [uartData banderą uartDataIN + +] = RCREG / / odczytany znak do bufora if (uartDataIN> = 20) uartDataIN = 0 / / bufor wskaźniki sprawdzić PIE1bits.RCIE = 1 / / ponownie włączyć przerwania}
 

Welcome to EDABoard.com

Sponsor

Back
Top