Gast
#794750
Hi Leute, ich sitz hier schon seit ein paar Stunden herum und wälze Datenblätter um die praktische Anwendung von Interrupts zu kapieren. Meine Aufgabenstellung: Ich hab hier einen Temperaturfühler,der auf einem interruptfähigen I/O Pin des 80C552 angeschlossen wird. Wenn der Temperaturfühler eine negative Flanke liefert,dann soll ein Interrupt ausgelöst werden. Beim Interrupt springe ich dann auf die Interrupt Vektoradresse und dort soll dann eine Messung durchgeführt werden(also wie lange die Portleitung auf Null ist). Aus dieser Zeit kann ich dann auf den jeweiligen Temperaturwert zurückrechnen. Desweiteren soll aber auch über einen Timer eine Uhr programmiert werden,die immer im Hintergrund läuft. Mein Problem: Wenn ich zum Beispiel für die Realisierung der Uhr den Timer 1 im 16 Bit Modus betreibe,dann zählt ja der von 0 - 65536 und dann wird ein Interrupt ausgeführt,oder? Desweiteren hab ich auch noch einen Temperaturfühler,mit dem ich die aktuelle Umgebungstemperatur messen möchte. Je nach Temperatur dauert die Messung zwischen 50ms und 380ms. Das heißt jedes Mal wenn ich mit der Messung der Temperatur anfange,dann wird durch den höherwertigen Interrupt der Uhr(die Uhr sollte ja auch nicht falsch gehen) die aktuelle Messung unterbrochen und ich bekäme nie einen Messwert... Sehe ich das richtig,oder bin ich da auf einem Holzweg? Mir raucht mittlerweile schon der Kopf. Danke!