2005-07-04 08:59 PM
2005-06-28 09:52 PM
Hi,
Strange problem with an ST72F264G2: The program has worked completely, after minor changes it doesn't work anymore. This is what happens: When i enable interrupts (_asm(''_rim'')), the main progam stops. Only other interrupts can be executed. So, it seems as if a lower priority ISR is stopped. But when i add all NULL in the interrupt_vector, all irq's are blocked, the problem stays. Any ideas???2005-06-28 10:33 PM
Is there in your code an infinite loop?
I mean, code like for ( ; ; ) { /* Some code */ } I suppose that your main is locked somewhere. If it is true, then only the ISR will be running. EtaPhi2005-06-29 03:02 AM
Probably you don't reset some interrupt condition.You can try to disable all interrupts and the main program should work fine.
Adding all NULL in the interrupr_vector isn't the correct solution,I think...2005-06-29 03:05 AM
2005-07-04 08:59 PM
hi joble,
just a warning about putting a null address in the vector table. This is very dangerous because: When the interrupt occurs, the core will jump to the given address (0 in this case) and try to interpret the value at this location (typically the value of an IO port register) as code. A recommended way is to point to a minimal function that just returns (iret if in assembler). The default vector table generated by STVD7 v3.2 for C projects follows this recommendation