I want to use the interrupt in PIC 18F4550 by the following code:
-----------------
But i got the error in
Warning [335] D:\ME (ES)\SEM VI\gsm\just_1.c; 11.1 unknown pragma "code"
Error [195] D:\ME (ES)\SEM VI\gsm\just_1.c; 14.1 expression syntax
Error [312] D:\ME (ES)\SEM VI\gsm\just_1.c; 15.1 ";" expected
Warning [335] D:\ME (ES)\SEM VI\gsm\just_1.c; 16.1 unknown pragma "code"
Warning [335] D:\ME (ES)\SEM VI\gsm\just_1.c; 17.1 unknown pragma "interrupt"
(908) exit status = 1
How i clear this error ?
Rich (BB code):
#include <p18f4550.h>
void interrupt_at_high_vector(void);
void high_isr(void);
#pragma config PLLDIV = 4, CPUDIV = OSC1_PLL2, FOSC = HS, FCMEN = OFF, IESO = OFF, PWRT = OFF, BOR = ON, BORV = 3, WDT = OFF, WDTPS = 32768
#pragma config MCLRE = OFF, LPT1OSC = OFF, PBADEN = ON, CCP2MX = ON, STVREN = ON, LVP = OFF, XINST = OFF, VREGEN = OFF, ICPRT = OFF, DEBUG = ON
#pragma config CP0 = OFF, CP1 = OFF, CP2 = OFF, CP3 = OFF, CPB = OFF, CPD = OFF, WRT0 = OFF, WRT1 = OFF, WRT2 = OFF, WRT3 = OFF
#pragma config WRTB = OFF, WRTC = OFF, WRTD = OFF, EBTR0 = OFF, EBTR1 = OFF, EBTR2 = OFF, EBTR3 = OFF, EBTRB = OFF
#pragma code high_vector=0x08
void interrupt_at_high_vector(void)
{
_asm GOTO high_isr _endasm
}
#pragma code /* return to the default code section */
#pragma interrupt high_isr
void high_isr(void)
{
LATC = 1; //RC0 HIGH
INTCONbits.TMR0IF = 0; //CLEAR TMR0 INT FLAG
}
void main(void){
TRISC = 0;
LATC = 0;
INTCON = 0xA0; //GIE AND TMR0IE
T0CON = 0x85; //16-BIT, TMRON, PRESCALER 1:128
while (1); //wait for interrupt
}
But i got the error in
Warning [335] D:\ME (ES)\SEM VI\gsm\just_1.c; 11.1 unknown pragma "code"
Error [195] D:\ME (ES)\SEM VI\gsm\just_1.c; 14.1 expression syntax
Error [312] D:\ME (ES)\SEM VI\gsm\just_1.c; 15.1 ";" expected
Warning [335] D:\ME (ES)\SEM VI\gsm\just_1.c; 16.1 unknown pragma "code"
Warning [335] D:\ME (ES)\SEM VI\gsm\just_1.c; 17.1 unknown pragma "interrupt"
(908) exit status = 1
How i clear this error ?
Last edited by a moderator: