Ich bin ziemlich neu auf diesem Gebiet, aber habe dafür schon mal herausgefunden wie I/O Interrupts ausgelöst werden. Was ich aber nicht im user guide gefunden habe, ist die Abarbeitung dieser Interrupt, aslo Infos über die ISR. Mir geht es darum auf ein Interupt am P2.1 I/O Pin reagieren zu können. Wie gesagt ich weiss wie ich ein Interrupt auslösen kann, nur eben nicht wie ich das verarbeiten kann... :-) Wie würde denn jetzt eine ISR zu diesem Interrupt ausschauen (C-Code)? Wo finde ich den überhaupt eine Auflistung der verschiedenen Interruptvektoren?
Wenn du uns verrätst, welchenm Kompiler du einsetzt, können wir dir auch sagen, wie die Deklaration für die ISR aussehen muss. Die Interrupt-Vektoren stehn im Datenblatt des Prozessors, mit entsprechender Priorität. Außerdem in einem Header-File, was der Kompiler mitbringt. Für IAR und GCC geeignet ist folgende Deklaration:
1 | #ifdef __IAR_SYSTEMS_ICC
|
2 | #pragma vector=PORT2_VECTOR /* IAR */ |
3 | __interrupt void IntServiceRoutine(void){ |
4 | #else /* GCC */ |
5 | interrupt (PORT2_VECTOR) wakeup IntServiceRoutine(void) |
6 | {
|
7 | #endif
|
8 | |
9 | ...ISR... |
10 | |
11 | }
|
Hiho, also im angehängten Beispiel siehst Du, wie man die ISR einbindet. Die Vectoren stehen nicht im User's Guide. Sie stehen separat in den Datasheets zu den einzelnen Derivate, z.B. : http://focus.ti.com/lit/ds/symlink/msp430f2012.pdf (Seite 13)
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.