Hallo,
ich würde gerne mit avr-gcc einen Sammel-Interrupt machen, und zwar für zwei ISRs. Der Code ist praktisch der gleiche, so daß ich den Codevarbrauch an der Stelle gerne halbieren würde.
Ich hab zwar eine Lösung, aber das ist HACK, ich trau mich garnicht, das hier zu posten.
Probleme:
- AVR setzt das jeweilige Flag beim Auslösen der IRQ zurück, ich kann's also nicht testen
- Funktionen stehen im asm möglicherweise in anderer Reihenfolge als in der C-Quelle
- In den umzubiegenden ISRs dürfen weder Register verwendet werden, noch das SREG verändert werden (oder man braucht nen ISR-Prolog, und die Codeersparnis ist futsch).
Jemand ne zündende Idee?
Lesezeichen