Gast
#2176233
Hallo zusammen! Ich hoffe, mir kann hier jemand helfen. Ich benutze einen MSP430F2418 und habe auf diesem mehrere State-Machines laufen. Ein USCI-Interrupt-Vektor wird dabei von zwei Quellen aufgerufen (ist hardwaremäßig so) Also USCIAB0 sind zusammen (= USCI A 0 und USCI B 0) Mein Handler sieht folgendermaßen aus:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
Die Frage ist jetzt: Muss ich das Flag explizit selber löschen? In den TI-Examples ist das nirgends so, aber wenn ich es nicht mache, dann funktioniert das ganze nicht mehr und wenn ich mir die Register anschaue, dann wird das Flag auch nicht gelöscht. Dann noch: Muss ich in einem Handler die beiden Teile mit "else if" trennen? Kann quasi während der Abarbeitung bereits das nächste Flag gesetzt werden? Hier geht nämlich irgendwas nicht - meine State-Machine hängt irgendwann in einem State fest, wo irgendwie ein Interrupt verloren gegangen ist, der die State-Machine in den nächsten Status schickt. Das passiert immer einfach irgendwann. Hat einer nen Rat?