Hallo zusammen, ich reorganisier gerade meine Programmierungen, heißt im Klartext, dass ich verschiedene c-Files verwenden möchte für UART,TIMER etc. um diese später wesentlich einfacher einbinden zu können. Jetzt wollte ich wissen, wie ich das mit Interruptroutinen machen muss. Geht das überhaupt und wie mache ich das am besten. Mit allen anderen Funktionen hat es bisher einwandfrei funktioniert...
Einfach in dem entsprechenden C-File die <avr/interrupt.h> includen und die ISR in das C-File schreiben (sofern du mit AVRs arbeitest, hast du ja leider nicht geschrieben)
okay und wie mache ich das dann mit den variablen, die im Hauptprogramm verwendet werden? Wie macht ihr das? Lagert ihr so viel wie möglich in eigene .c-Files oder lasst ihr die Interruptroutinen immer im Hauptprogramm?
pete schrieb: > okay und wie mache ich das dann mit den variablen, die im Hauptprogramm > verwendet werden? Ins C-File kommt die Defintion der Kommunikationsvariable Ins Header File eine entsprechende extern-Deklaration. http://www.mikrocontroller.net/articles/FAQ#Globale_Variablen_.C3.BCber_mehrere_Dateien
pete schrieb: > Wie macht ihr das? Lagert ihr so viel wie möglich in eigene .c-Files > oder lasst ihr die Interruptroutinen immer im Hauptprogramm? Die Interrupt-Routine gehört natürlich in das C-File, das die Komponente treibt, z.B. uart.c. ISR und die damit kommunizierenden Routinen verwenden ja gemeinsame Variablen, die nach außen eigentlich nicht sichtbar sein müssen (oder sollen) und zu den Implemetierungsdetail gehören. Wenn die ISRs alle ins Hauptprogramm kämen, würde dies die Kapselung der Implementierung verhindern.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.