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 User
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
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
Vielen Dank ! Ich bin ja echt begeistert!! Vielen Dank für die schnelle Hilfe Werde jetzt wohl öfter mal hier sein
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
Ä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
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...
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)
Du hast soeben einen fünfeinhalb Jahre alten Thread ausgebuddelt. Gratuliere.