www.mikrocontroller.net

Forum: Compiler & IDEs msp430 Interrupt in C programieren


Autor: tmogli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute!

Habe gerade mit dem Programmieren des MSP430 begonnen. Und versuche es
zu erlernen. Habe folgende Frage:

Wie schreibe ich ein Programm in C, welches Interrupts benutzt.
zB. Wenn Ich "Taste eins" drücke soll am Ausgang ein bestimmtes
Signal angelegt werden, und bei "Taste2" wieder ein anderes!

Ich brauche nur die Standartinitialisierung für Interrupts in C!!!!

Wäre super nett!

Danke Mogli

: Gesperrt durch Moderator
Autor: Benjamin Johann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schreibe einfach eine Funktion

interrupt [PORT1_VECTOR] void irgendein_name(void)
{
bla bla bla...
}

wobei die Interupts nicht viel code enthalten sollten / dürfen , damit
der Prozessor nicht aus dem Takt kommt.
Den interupt-Verctor den du brauchst musst du dir in den header-dateien
raussuchen oder hier mal duie suchen-funktion im Forum benutzen.
Auerdem musst du natürlich erstmal in deiner Main programmieren, wann
ein interupt ausgelöst wird.
z.B.

Port - Direction (DIR)
Port Int Edge Select "IES" (Posiive oder negative Flanke )
und schließlich das "IE" (Interupt Enable)
ein generelles
 _EINT();                              // Enable interrupts

Schau dir mal die Beispiele an!
http://cvs.sourceforge.net/viewcvs.py/mspgcc/examples/
Benni

Autor: Wolfgang (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
Habe gerade mich auch mit diesem Problem beschäftigt und im Anhang eine
erste funktionierende Versuchslösung.
Als Compiler wurde IAR Kickstart verwendet. An P4 hängen zur
Versuchsdurchführung
nur 7- Segment LED- anzeigen.
Mit freundlichen Grüßen
Wolfgang

Autor: tmogli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank !

Ich bin ja echt begeistert!!
Vielen Dank für die schnelle Hilfe

Werde jetzt wohl öfter mal hier sein

Autor: CsGamer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich würde gern wissen wie man ein Programm schreibt.
Wie man exe Dataien schreibt und ob es programme für
sowas gibt.

Es wär net wenn mir das wer erklären könnt

Autor: Benjamin Johann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ähh... ähmm...
Bist du sicher du bist hier richtig? Wir schreiben Programme für
Mikrocontroller - das sind dann sog. elf -Dateien, die Assemblercode
für den Prozessor enthalten. Da ist nix mit exe und so...
Aber ja: Dafür gibt es Programme: sog. compiler, die den C-Code in
Assembler umwandeln - aber eben in diesem Falle nur ür den
Mikrocontroller: MSPgcc oder AVRgcc - in diesem Falle. Noch fragen?
Benni

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen!
Ja, ich weis, der Thread ist schon Steinalt, aber ich muss das jetzt
loswerden :-)

>interrupt [PORT1_VECTOR] void irgendein_name(void)

Da das hier das *-gcc Forum ist, ist diese Deklaration falsch.

interrupt (PORT1_VECTOR) void irgendein_name(void)

So deklariert man ISRs für den msp430-gcc.

Gruß,
Patrick...

Autor: linus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Definition einer Interruptroutine für den msp430-gcc ist so richtig. 
Man muss lediglich noch #include <signals.h> hinzufügen und schon 
funktioniert es.
Interessant ist auch die Headerdatei <isr_compat.h>, die das Makro 
ISR(int, int) anbietet, welches dann für die verschiedenen compiler 
aufbereitet wird, Beispiel:
ISR(WDT, watchdog_timer)

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du hast soeben einen fünfeinhalb Jahre alten Thread ausgebuddelt. 
Gratuliere.

Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.