www.mikrocontroller.net

Forum: Compiler & IDEs MSPGCC Interruptroutine für P1 spinnt ?


Autor: Interruptor (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe einen MSP430F147. An P1.0 hängt ein externes IC, das damit den 
Takt vorgibt (14.4 kHz) mit dem an einem weiteren Pin die Daten 
ausgegeben werden (also eine Art SPI). Dazu habe ich eine 
Interruptroutine geschrieben:

P1IES = 1<<0; //falling edge for DCLK
P1IE = 1<<0; //Enable P1.0 IRQ
eint(); //Enable global IRQ


interrupt (PORT1_VECTOR) port_int(void)
{
  P2OUT ^= 1<<6;
}

Das Problem ist nun, dass die IRQ Routine ständig aufgerufen wird (weit 
über 200 kHz); je mehr Code darin steht desto langsamer wird dann 
natürlich P2.6 getaktet. Eigentlich sollten es nur 14.4 kHz sein.

Muss ich noch etwas beachten, z.B. bestimmte Flags zurücksetzten o.ä. ?

Schöne Grüße

Interruptor

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Muss ich noch etwas beachten, z.B. bestimmte Flags zurücksetzten o.ä. ?
Ja aber sicher!
Die IRQ-Flags bei den Port-Interrupts muss man per Software selbst 
zurücksetzen! Ansonsten bist Du mit Deiner ISR fertig und springst 
sofort wieder da rein!
Also:
interrupt (PORT1_VECTOR) port_int(void)
{
  P2OUT ^= 1<<6;
  P1IFG  = 0;
}

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.