Gast
#1119699
Hallo, ich benutze den ADuC7021 und habe dort 2 Interruptroutinen (eine für die schnellen Interrupts FIQ und eine für die langsamen Interrupts IRQ) in c implementiert (mit KEIL Vision 3.x). Im Datenblatt ist als maximale Interruptlatenzzeit 1,4 µsec angegeben. Gemessen habe ich aber 2,4 bis 2,8 µsec. Woran kann diese längere Interruptlatenzzeit liegen? Am KEIL Compiler, der vielleicht viele Register beim Einsprung sichert? Oder weil ich dide Interruptroutine in c Implementiert habe? Würde eine Assemblerimplementation der Interruptroutine helfen? Kann man im KEIL µVision 3 irgendwo einstellen, dass er beim Interrupteinsprung nur die aller nötigsten Register sichert? Oder habt ihr andere Tips und Tricks? Danke Gruß Samuel