Forum: Mikrocontroller und Digitale Elektronik Interrupt Konflikt MSP430


von gast_ Andreas (Gast)


Lesenswert?

Hallo zusammen,

ich versuche mich momentan mal am MSP und hätte folgende Frage:

Derivat: MSP430FG4619
MSPFET-430U100, MSP-TS430PZ100 Board
CCE V3.1 SR1

und zwar möchte ich gern einen Timer nutzen um eine LUT auszugeben und 
mit einem Port-Interrupt diesen Timer starten bzw. stoppen. (oder 
einfach ersteinmal eine LED zu toggeln). Jetzt reicht mein Wissen leider 
noch nicht aus um zu wissen ob das überhapt machbar bzw. üblich ist. 
Läuft mein Timer und die LUT wird ausgegeben denn funktioniert der 
Port-Interrupt nicht. Umgekehrt ist es ebenso.
1
 #pragma vector=TIMERA1_VECTOR
2
    __interrupt void Timer_A (void)
3
   {
4
    LUT_Sin_out ();                          //
5
    //__enable_interrupt();                       
6
   }
7
8
   #pragma vector=PORT1_VECTOR
9
   __interrupt void Port1_ISR (void)
10
   {
11
    DebounceDelay();
12
    P5OUT ^= 0x02;                            // P5.1 = toggle
13
    P1IFG &= ~0x010;                          // P1.4 IFG Cleared
14
   }

In dieser Konfiguration wird die LUT ausgegeben, ich kann jedoch den 
Port nicht toggeln. Schalte ich die Interrupts im Timer ein dann 
funktioniert das toggeln aber die LUT wird nicht mehr ausgegeben.

Es wäre sehr nett wenn jemand einen Anstoß zur Lösung meines Problems 
hätte!

vielen Dank und Grüße       Andreas

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

>     DebounceDelay();

Was hat das in einer ISR verloren?

von gast_ Andreas (Gast)


Lesenswert?

Ich war der Meinung daß die Entprellung geschehen muß wenn der 
Portinterrupt auftritt, denn vorher zappelte mein Taster unkontrolliert 
herum.

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
Noch kein Account? Hier anmelden.