This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

SPI interrupt at wrong address

I am using Atmel AT89C51CC03, and it is configured so in Keil too. The data sheet lists the SPI interrupt vector as 0x0053h, and I do define my interrupt as interrupt #10. However, the map file show my SPI interrupt has address of 0x0026h.

Does anyone know why is that? Anything I can do to make it right?

Thanks in advance!

Parents
  • Is there any setting I should change to make compiler do that? There are only 8 bytes from one interrupt vector address to next. And with all the push/pop, I do need a LJUMP. At address 0023, compiler does have a LJMP for my UART interrupt, but I just don't know why it would not do it for SPI interrupt.

    For the UART interrupt I have

    static void com_isr (void) interrupt 4 using 2
    

    Does a different bank help?

Reply
  • Is there any setting I should change to make compiler do that? There are only 8 bytes from one interrupt vector address to next. And with all the push/pop, I do need a LJUMP. At address 0023, compiler does have a LJMP for my UART interrupt, but I just don't know why it would not do it for SPI interrupt.

    For the UART interrupt I have

    static void com_isr (void) interrupt 4 using 2
    

    Does a different bank help?

Children