??? 07/04/07 09:29 Read: times |
#141483 - RE: C interrupt overhead Responding to: ???'s previous message |
Jan Waclawek said:
The interrupt overhead in C is what most probably prevents you to reach a higher rate. Running the code in simulator and watching the timer will show you, what's going on. Or look at the generated assembler to see what's going on. Note: for Keil, adding a using option significantly reduces the overhead, as the compiler then won't save all registers... http://www.keil.com/support/m...cdecls.htm Try rewriting the ISR in inline asm. No, don't do that! Write it as a separate assembler module, in an assembler source file. |
Topic | Author | Date |
How to generate 100 Khz square wave 80C51 | 01/01/70 00:00 | |
Tips | 01/01/70 00:00 | |
1 KHz | 01/01/70 00:00 | |
that's ... | 01/01/70 00:00 | |
SI Units | 01/01/70 00:00 | |
1024 = Ki | 01/01/70 00:00 | |
C interrupt overhead | 01/01/70 00:00 | |
RE: C interrupt overhead | 01/01/70 00:00 | |
and listen to the guru! :-) | 01/01/70 00:00 | |
several reasons | 01/01/70 00:00 | |
Yet another reason to avoid using HLL's! | 01/01/70 00:00 | |
Optimizations | 01/01/70 00:00 | |
Use Timer0 auo reload | 01/01/70 00:00 | |
using | 01/01/70 00:00 | |
interrupt vectoring vs. latency | 01/01/70 00:00 | |
Then the Interupt must be in ASM | 01/01/70 00:00 | |
do you mean... | 01/01/70 00:00 | |
No | 01/01/70 00:00 | |
Compiler generated IRQ vectors | 01/01/70 00:00 | |
OOPS we both meant LJMP REALisr | 01/01/70 00:00 | |
the original problem... | 01/01/70 00:00 | |
Interrupt Latency + Vectoring + Service | 01/01/70 00:00 | |
indufficient info | 01/01/70 00:00 | |
use MCS52 better option![]() | 01/01/70 00:00 |