| | [long] Interrupt programming, buggy code Benjamin Sigonneau
|
| | Hi all, I am currently programming the Lego RCX at low-level (plain C) using the GCC cross-compiler for Hitachi H8/300 and Kekoa Proudfoot's LibRCX. In fact, I'm designing exercises for students that learn micro-controller programming. Therefore, I (...) (21 years ago, 2-Mar-04, to lugnet.robotics.rcx)
|
| | |
| | | | RE: [long] Interrupt programming, buggy code Ralph Hempel
|
| | | | Having fun yet :-) There are a few things you might want to keep in mind when writing ISRs for the RCX... First, avoid calling into the ROM from an interrupt handler. You never know how long they take, and you may in fact be hitting another OCIA (...) (21 years ago, 2-Mar-04, to lugnet.robotics.rcx)
|
| | | | |
| | | | Re: [long] Interrupt programming, buggy code Kevin L. Clague
|
| | | | (...) All I can give you is guesses. There are pleny of gurus here who will know the answer. Do you know if the display_debug() routine or any of the things it uses depends on the interrupts you are taking over? If default interrupt handler provides (...) (21 years ago, 2-Mar-04, to lugnet.robotics.rcx)
|
| | | | |
| | | | Re: [long] Interrupt programming, buggy code Mark Riley
|
| | | | Hi Benjamin, When you declare your ISR as an interrupt_handler, GCC terminates the function with an "rte" instead of an "rts". The ROM code that dispatches the interrupt to your function is already doing the rte so your function should not. Here's (...) (21 years ago, 2-Mar-04, to lugnet.robotics.rcx)
|
| | | | |
| | | | | | RE: [long] Interrupt programming, buggy code Ralph Hempel
|
| | | | | Much better and more accurate answer from Mark - who knows a lot more about GCC that I do :-) I should stick to commenting on assembly language stuff. Ralph (...) <snippage> (21 years ago, 2-Mar-04, to lugnet.robotics.rcx)
|
| | | | | |
| | | | | | Re: [long] Interrupt programming, buggy code Mark Riley
|
| | | | | (...) Eh... Never mind this bit. I just had a gander at Kekoa's rcxlib and he already handles this correctly in debug_value(). Should've known! :-) Mark (21 years ago, 2-Mar-04, to lugnet.robotics.rcx)
|
| | | | | |
| | | | | | Re: [long] Interrupt programming, buggy code Benjamin Sigonneau
|
| | | | On Tue, 2 Mar 2004 17:54:47 GMT "Mark Riley" <markril@hotmail.com> wrote: Hi Mark, (...) [snip] (...) [snip] And that was it, indeed! Many to you, as well as Ralph and Kevin who tried to help me. There shouldn't be much trouble for me I think (if we (...) (21 years ago, 2-Mar-04, to lugnet.robotics.rcx)
|
| | | | |