| ??? 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 |



