www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik MSP430 Menusteuerung


Autor: reflection (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Salu zusammen

Ich möchte in meinen MSP430 eine Menusteuerung implementieren (kleiner 
Joystick aus Mobiltelefon). Leider habe ich nicht so viel Ahnung mit 
Interrupts und möchte das gleich als Anlass nehmen ein bisschen mehr 
darüber zu erfahren.
Nun zu meiner Frage: Hat vielleicht jemand von Euch schon einmal so 
etwas gemacht und könnte mir ein bisschen weiterhelfen, oder mir einen 
Tipp geben wo ich spezifisch zu Interrupts und MSP430 etwas lesen kann? 
Vielleicht stellt mir auch jemand einen Codeschnipsel zur Verfügung in 
dem ich einmal ein paar Sachen nachvollziehen kann. Wäre über Eure Hilfe 
sehr erfreut

Grüsse aus der heissen Schweiz

reflection

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, an sich brauchst du eine Interrupt-Service-Routine, die könnte für 
den port 1 so aussehn:
#ifdef __ICC430__
#pragma vector=PORT1_VECTOR                  //IAR Compiler
__interrupt void PORT_1_ISR (void){
#else
interrupt (PORT1_VECTOR) wakeup PORT_1_ISR(void)          //GCC Compiler
{
#endif

...Tasten auswerten...

}

Dann musst du natürlich bei der Initialisierung des Prozessors den Port 
erst mal für Int. freischalten:
P1DIR = 0x00; //Alles Eingänge
P1IE = 0xFF;  //Alle Inputs int-fähig;
P1IES = 0x00; //Alle Ints steigende Flanke
_EINT();     //Globalen Int einschalten

Inj der ISR kannst du z.B. im P1IFG Register nachschauen, welcher Taster 
jetzt den Interrupt ausgelöst hat.

Autor: reflection (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Salu Christian

Danke für den Tipp

Die Aus-/Eingänge des MSP liegen ja standardmässig auf High (PullUp) In 
Deinem Code steht jetzt, dass er die Ints bei steigender Flanke 
übernimmt. Müsste das dann nicht bei der fallenden Flanke geschehen? 
Komme aus Deinem Code noch nicht ganz klar, werde aber sicher mit Google 
und so schlauer.

Gruss

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau dir mal die C-Demos von TI an, die gehn immer. Der MSP430 hat 
keine Pull-Ups, alle Pins sind standardmäßig Eingänge und mit der 
I/O-Funktion belegt. Die Ausgänge sind push-pull, es muss also auch kein 
externer Pull-Up dran. Und sie liegen standardmäßig nicht auf High, 
sondern floaten als Eingang.

Ganz wichtig ist der User Guide: 
http://focus.ti.com/mcu/docs/mcuprodtechdoc.tsp?se... 
da steht alles sehr schön beschrieben.

Und halt die Demo-Programme: 
http://focus.ti.com/mcu/docs/mcuflashtools.tsp?sec...

Autor: Jörg S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Der MSP430 hat keine Pull-Ups,....
Die F2xx Serie schon

Ob man bei steigender oder fallender Flanke den Interrupt hat, hängt 
davon ab wie man die Hardware drum rum gebaut hat. Beide Varianten sind 
möglich.

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK, die neuen schon, stimmt. Der Kollege schrieb aber nicht, welchen 
MSP430 er hat.

Autor: Jörg S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Der Kollege schrieb aber nicht, welchen MSP430 er hat.
Der übliche Fehler, ja :)

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.