Hallo
mein Projekt mit Simpliciti ist schon laenger her aber soweit ich mich
errinnern kann, hatte ich ein globales Simpliciti Verzeichnis und da ich
Projekte hatte die teilweise den Interrupt benutzten und teilweise nicht
habe ich die mrfi_board.c bisschen erweitert
1 | #ifndef USER_PORT2_VECTOR
|
2 |
|
3 | BSP_ISR_FUNCTION( BSP_GpioPort1Isr, PORT2_VECTOR )
|
4 | {
|
5 | /*
|
6 | * This ISR is easily replaced. The new ISR must simply
|
7 | * include the following function call.
|
8 | */
|
9 | MRFI_GpioIsr();
|
10 | }
|
11 | #endif
|
und je nach Projekt hab ich dann ueber die Compilerparameter dann
USER_PORT2_VECTOR definiert.
und dann wenn ich den Port2 benutzt habe in der Datei main_manyED.c
dieses hier eingefuegt
am Anfang der Datei dies hier
und ganz unten dann dieser Code
1 | #pragma vector=PORT2_VECTOR
|
2 |
|
3 | __interrupt void port_2_interrupt(void)
|
4 | {
|
5 | MRFI_GpioIsr();
|
6 | if ( (P2IE & BIT0)&& (P2IFG & BIT0))
|
7 | {
|
8 | timer_count = TBR - timer_count; // Record the discharge time
|
9 | P2IFG &= ~BIT0;
|
10 | }
|
11 | else if ( (P2IE & BIT1)&& (P2IFG & BIT1))
|
12 |
|
13 | [....]
|
14 |
|
15 | else if ( (P2IE & BIT4)&& (P2IFG & BIT4))
|
16 | {
|
17 | timer_count = TBR - timer_count; // Record the discharge time
|
18 | P2IFG &= ~BIT4;
|
19 | }
|
20 | LPM3_EXIT; // Exit from low power 3 or 0
|
21 | }
|
Gruss
Achim