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

Cannot get KBD interrupt to work - 89LPC922

Hi, can someone help point me in the right direction. I have a simple program that takes push button inputs and then sends them by IR led link to a receiver. It uses the printf function to drive the LED and the KBI on P0 for the p/button inputs.

The program compiles ok and the printf works if I do a printf("rtrt") just before entering the main loop where the program is supposed to sit until a KBI is detected. Problem is I cannot trigger the interrupt. Additionally, I get an L16 'unused code, ignored for . . . etc' message for the interrupt service routine. So, I think that the compiler or linker is not seeing the isr. I don't think its a hardware issue. I've checked wiring and voltage level changes on the P0 pins.

Any thoughts on this?

thanks

Jason

Parents
  • Suggestion JUST copy the port data into a externally (IE globally) accessible variable. Then set a flag (IE bit) globally to indicate an interrupt happened.

    bit            key_press;
    unsigned char  key_state;
    


    Or something akin to that. Then play with the data elsewhere in your code.

    The event and data from P0 should be handled elsewhere. The flag will indicate if you have an interrupt or not however. That should at least indicate if the interrupt happened.

    Stephen

Reply
  • Suggestion JUST copy the port data into a externally (IE globally) accessible variable. Then set a flag (IE bit) globally to indicate an interrupt happened.

    bit            key_press;
    unsigned char  key_state;
    


    Or something akin to that. Then play with the data elsewhere in your code.

    The event and data from P0 should be handled elsewhere. The flag will indicate if you have an interrupt or not however. That should at least indicate if the interrupt happened.

    Stephen

Children
No data