We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi! I have written a simple uart driver for the nordic bRF24E1 (8051 with intergrated rf) and somehow i do not seem to be able to debug my interrupt service routine. EA is set to 1 and Serial Interrupt is enabled but when i set a breakpoint inside the isr the debugger will not stop at the breakpoint. The isr is triggered however. I know it because there seems to be a bug in my isr (stack is messed up) which only occurs when EA = 1. As soon as i disable interrupts the bug goes away. So isr is triggered but i can not debug it because tracing into the isr doesn't seem to be possible. So how can i debug interupt-service-routines with the integrated debugger? Regards Christian
What I always do is to have an ISR for each and every possible interrupt source. I have seen the above way too often. Unused ISRs simply call ICrash() which is a do nothing routine there for enabling breakpointing all unused ISRs in one place. Do this and your eyes will open as to the actual nature of your problem. IE = 0x90 however (According to the Watch Window). Therefore only EA and Serial Interrupt are enabled. With 11 interrupt sources (I saw that in the thread) there MUST be another interrupt enable SFR (IE1 ?) so the "only" above beg a question mark. Erik
In the meantime i have found what caused my problem. I have assigned the wrong interrupt number to my routine. So during the interrupt the processor switched to the correct code location but there was no interrupt routine. ASs simple as that. Very enlighting but i feel rather stupid now ;-) Thanks for your help Regards Christian