Gast
#152177
Hallo, kennt sich jemand mit dem Schreiben von Interrupt-Routinen beim C51 von Keil aus? Habe folgendes Programm: Die serielle Schnittstelle soll interruptgesteuert arbeiten, mit einem Ringbuffer. Die Ringbuffer-Routinen funktionieren, und die Routinen für das Schreiben/Lesen in den seriellen Buffer sind ebenfalls geschrieben, aber noch nicht getestet. In den Schreib/Lese-Routinen lösche ich das ES-Bit, um zu verhindern, dass ein serieller Interrupt den Buffer durcheinander bringt, während ich darauf zugreife. Meine Frage ist nun, was ich für den seriellen Interrupt schreiben muss. 1. Da ich die Schreib/Lese-Routinen für den Ringbuffer sowohl im Interrupt als auch in den Routinen für die serielle Schnittstelle verwende, müssen die Ringbuffer-Routinen "reentrant" sein, richtig? 2. Kann ich den Interrupt in einer anderen Registerbank laufen lassen? Oder verhaspele ich mich da dann mit den Ringbuffer-Routinen, da die in der eigentlichen Applikation ja in RB0 laufen? 3. Was muss ich sonst noch beachten? Gruß Stefan