2003-07-27 11:03 PM
2003-07-22 05:50 AM
Hello!
I've got a problem with the timer handle: my program don't call the timer interrupt... and it's very simply! Is there any miss configuration? I attach the code file, i hope there is someone that can understand where i wrong... Thanks for all... P.S.: the interrupt vector is ok (0xFFEAh for this uC) so i really don't know why it doesn't work correctly... P.P.S.: i use a crystal resonator, with the classic configuration (xtal and two capacitors), and my device communicates correctly with my InDart...[ This message was edited by: Maniaco on 22-07-2003 18:23 ]2003-07-22 04:26 PM
Try to initialize the TAOC1LR & TAOC1HR with some values.
Other thing in your software, if you want to enable watchdog then set the bit 7 (WDGA) otherwise there is no use to refresh the watchdog register.2003-07-22 09:09 PM
Thank for the help, Ranjeet... but the problem persist.
I attach the program with your modifications... I really don't understand where is the problem, I'll try other solutions, but if someone knows the reason of this strange behavior please contact me or reply this thread. Ciao! P.S.: The problem isn't in the watchdog: i tried to define WATCH_DOG_REFRESH as nothing or *WDGCR = 0xFF (for the activation) but there's no changes on the program... [ This message was edited by: Maniaco on 23-07-2003 09:48 ]2003-07-23 04:00 PM
Initialization for the timer appears to be ok. Initialise the sys timer[0] before enabling the interrupt. You can also check your clock source, may be outputting it on the MCO pin. Which device are you using ? Please check your interrupt vector table according to that.
How are you able to check that the interrupt routine is not executing? I think you have n't written anything to check in the ISR.2003-07-23 10:49 PM
Dear Ranjeet,
unfortunately i already tried to inizialize the SysTimer array, but it's useless... I verified the MCCSR status, and the MCO bit is 0 (forced the inizialization to 0), but still it doesn't work correctly. The uC is a ST72F324J6T6 (I already tried to change uC...), the visual debugger is ''STVD7 for InDART-STX''. I tried set all interrupt vectors on the same function, put a breakpoint on the top of the interrupt function, but the program never pass through that code... although that code has been compiled and linked (I can put an interrupt into that code). How can I check my ISR? I enabled timer interrupt via TACR1 and a simply RIM. I'll try to contact the emulator producer's technical staff, I hope that they will can help me... Thank for all. ciao!2003-07-24 08:59 PM
Check your code with a MCU: the inDART does not manage interrupts in Debug mode for 52x/32x family...
2003-07-24 09:13 PM
Hi,
inDART-STX used with ST7 devices based on HDFlash (521, 32X, 62X) has some limitations because these devices don't have the debug peripheral. More information about these limitations are written in the ''Addendum User's Manual'' (PDF format).In particular: ''Real-time execution only occurs when no breakpoints are set. However, you can set “low-level� breakpoints (and still get real-time execution) by putting the TRAP instruction in your source code. When a TRAP instruction is executed, the program stops just as if a breakpoint was set. The advantage of using this technique is that you can have as many TRAP instructions (and therefore set as many “low-level� breakpoints) and still the program will be executed in real-time. However, every time you insert/remove a TRAP instruction you need to recompile your program. '' Piero2003-07-27 11:03 PM
OK, the problem is resolved.
If we use a breakpoint the program never call the interrupt routine. I attach the file with the trap instruction that allow to break the emulation and verify/modify the variable (like a regular breakpoint). Thank for all, ciao!