sửa lại code như sau:
Code:
#pragma code high_interrupt = 0x08
void high_vector( void )
{
if(INTCONbits.INT0IF)
{
_asm goto dclk_handler _endasm
}
if(INTCON3bits.INT1IF)
{
_asm goto reset_button _endasm
}
}
#pragma code low_interrupt = 0x18
void low_vector(void)
{
_asm goto rx_handler _endasm
}
nhận đuợc thông báo lỗi là:
Error - section 'low_interrupt' can not fit the absolute section. Section 'low_interrupt' start=0x00000018, length=0x0000000
nếu dòng low interrupt đuợc sửa như sau thì không có báo lỗi:
#pragma code low_interrupt // = 0x18
tức là không định địa chỉ tuyệt đối cho low interrupt thì được.
Tuy nhiên không biết chương trình có chạy đúng hay không .
INT1IP: INT1 External Interrupt Priority bit
1 = High priority
0 = Low priority
setupcho cấu hình priority trong INTCON3 có ý nghĩa như thế nào trong việc xác định mức ưu tiên ngắt ? chẳng phải đã định nghĩa từ đầu ở dòng #pragma rồi sao?