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

problem with interrupt service routine

Hi,
I'm beginner in software-develop for µcontroller and i have a question to programm ISR:

I can initialise the UART for writing data, but I want to observe incoming data. For that I need an ISR. I declared my ISR with "void rdx0_isr (void) __attribute__ ((interrupt));" When an interrupt depends .. no jump to rdxo_isr happens. I've no idea what's the problem.


I programm for LPC2106 with Keil µvision (GCC3.3.1) using the unmodified startup.s for Phillips processors and the recommendet linker script file.

maybe somebody has an example projekt for UART I/O. Or some tips for programmming.

thanx..

Parents
  • I think i found out, what's wrong.. at memory adress 0x18 I should write an IRQ_handler like "LDR pc,[pc,#-0xFF0]" (described in the users guide for the LPC210x p70)

    the command set the programcouter to the address that is present in VICVectAdrr-register (the VIC serves the address of the needed ISR in this register)

    I did it, but it doesn't work. during debug is saw, that mostly pc is set to addr. 0x0 so i have an reset. The VICVECTADDR reg. serves the right ISR address, but pc ist set incorectly.

Reply
  • I think i found out, what's wrong.. at memory adress 0x18 I should write an IRQ_handler like "LDR pc,[pc,#-0xFF0]" (described in the users guide for the LPC210x p70)

    the command set the programcouter to the address that is present in VICVectAdrr-register (the VIC serves the address of the needed ISR in this register)

    I did it, but it doesn't work. during debug is saw, that mostly pc is set to addr. 0x0 so i have an reset. The VICVECTADDR reg. serves the right ISR address, but pc ist set incorectly.

Children
No data