Detta error får jag:
Make: The target "C:\Users\iMighty\Documents\Mikrodata\inl51\inl51.o" is out of date.
Executing: "C:\Program Files (x86)\Microchip\mplabc18\v3.40\bin\mcc18.exe" -p=18F458 "inl51.c" -fo="inl51.o" -D__DEBUG -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa-
C:\Users\iMighty\Documents\Mikrodata\inl51\inl51.c:25:Error: syntax error
Halting build on first failure as requested.
Här är min kod
Kod: Markera allt
#include <p18cxxx.h>
#include <delays.h>
#include <portb.h>
#pragma config OSC = HS
#pragma config WDT = OFF
#pragma config LVP = OFF
#pragma config DEBUG = ON
unsigned char sjuseg[] = {0b00111111,0b00000110,0b01011011,0b01001111,0b01100110 ,0b01101101,0b01111101,0b00000111,0b01111111,0b01101111};
unsigned char combo[] = {0b01111101,0b11101110,0b11101101,0b11101011,0b11011110,0b11011101,0b11011011,0b10111110,0b10111101,0b10111011};
void interrupt (void);
#pragma code HIGH_INTERRUPT_VECTOR = 0x8
void high_ISR (void){
_asm
goto interrupt
_endasm
}
#pragma code
#pragma interrupt interrupt
void interrupt (void){
Delay10TCYx(1); //DEN HÄR RADEN ÄR DUM VARFÖR FUNKAR DU INTE?!
char temp_1 = PORTB & 0xF0; //Maskar raden
TRISB = 0b00000111; //VARFÖR KAN JAG INTE ÄNDRA DIG UNDER INTERRUPT!
char temp_2 = PORTB & 0x0F; //Maskar kolumn
unsigned char temp = ~(temp_1 | temp_2); //Lägger ihop dem
unsigned char nummer = 0;
for(nummer = 0; nummer < 9; nummer++){ //Kolla vilket nummer det är
if(temp == combo[nummer]){
PORTC = sjuseg[nummer]; //Visa detta på sjuseg.
break;
}
else
PORTC = 0x00;
}
INTCONbits.RBIF = 0;
}
void EnableHighInterrupts (void)
{
RCONbits.IPEN = 1; /* enable interrupt priority levels */
INTCONbits.GIEH = 1; /* enable all high priority interrupts */
}
void main (void){
TRISA = 0x00;
TRISB = 0b11111111;
PORTA = 0b00001110;
PORTB = 0x00;
TRISC = 0x00;
PORTC = 0x00;
OpenPORTB(PORTB_CHANGE_INT_ON & PORTB_PULLUPS_ON);
EnableHighInterrupts();
while(1);;
}