Hallo zusammen. Wie seht es eigentlich mit interruptprioritäten aus? Wenn ich mit einem Timer eine Drehzahl messe und über den Uart die Drehzahl auslesen. Beides interruptgesteuert. Gibt es da keine Probleme wenn der Timer gerade ausgelöst wird und ich über den Uart lesen will? MfG Peter
hallo peter beim avr haben die timer ints höhere priorität als der uart int! d.h. treten die beiden interrupts zur gleichen zeit auf, wird der timer int. bevorzugt! auf jeden fall solltest du die ISRs so kurz wie möglich programmieren! da|poidi
Interrupt Prioritäten kannst du er INT-Tabelle im jeweiligen Datenblatt nachlesen. 1. Eintrag = höchste Priorität. Diese ist nicht veränderbar.
"Gibt es da keine Probleme wenn der Timer gerade ausgelöst wird und ich über den Uart lesen will?" Wenn sich das auf einen AVR bezieht: Na klar gibts da Probleme ! Deshalb die Interrupts möglichst kurz halten und die Interrupts so gestalten, daß z.B. eine Verzögerung um 20..100 Takte durch einen anderen Interrupt toleriert werden kann. Peter
Danke Ich habe jetzt eine gewisse vorstellung. Vermutlich kommen später noch fragen. Gruss Peter
>> "Gibt es da keine Probleme wenn der Timer gerade ausgelöst wird und >> ich über den Uart lesen will?" > Wenn sich das auf einen AVR bezieht: Na klar gibts da Probleme ! Naja, in dieser Richtung wohl eher nicht: bis das nächste UART-Zeichen eingeliefert ist, wird ja wohl hoffentlich die ISR für den Timer allmählich ein Ende gefunden haben. ;-) Die USARTs der neueren ATmegas haben sogar einen doppelten Empfangspuffer. Aber generell ist es natürlich richtig, ISRs sollten kurz sein und dürfen insbesondere keine `spin waits' oder sowas haben.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.