PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Externe Unterprogramme im AVR Studio



kaisobczak
25.04.2005, 20:29
Mohoin,

wie implementiert man im AVR Studio externe Unterprogramme ??

Scheinbar muss ich meine externen Dateien erst zum Schluss mit .include einbinden...aber wenn ich dann schon weiter oben in meinem "main" Programm Funktion xy aufrufe, die in der externen Datei steht, kapiert er das nicht :-k
Muss ich diese Funktionen zu anfang des Programms nochmal als Prototypen aufführen ??

Gruß

Kai

Florian
25.04.2005, 20:35
Hi Kai!
Eigentlich müsste man die .include-Befehle überall einfügen dürfen!

kaisobczak
25.04.2005, 20:48
hmm...das is ja was...geht aber nicht...wenn ich .include hinten dran hänge gibt er für die benutzten Funktionen "Undefined Symbol" aus...und wenn ichs oben drüber schreibe gibt es zwar keine Fehlermeldungen, das Programm funktioniert aber nicht...weder im Simulator noch real...
Son mist...ich hab auch immer wat :-\

Gruß

Kai

Florian
25.04.2005, 20:54
Also ich habe es eben nochmal probiert, bei mir funktionierts!
Zeig mal bitte den Quelltext, vielleicht kann ich helfen!

kaisobczak
25.04.2005, 21:01
Die beiden Dateien:

skyrider
26.04.2005, 14:11
Hallo Kai,

wenn du deine Routinen am Anfang einbindest, werden diese ab Adresse $0000 in den Reset-Vector geschrieben, und der Prozessor verabschiedet sich beim Reset ins Nirwana !
Die 2313def.inc kann am Anfang (und sollte auch!) stehen, da in dieser Datei nur Zuordnungen stehen, die keinen Programmcode erzeugen.

Du kannst es sehr schön nachvollziehen, wenn du dir die .hex Dateien z.B in PonyProg anschaust.

Ich hänge noch einmal einen "tiny2313.inc.txt" (bitte umbenennen!) und eine "LCD_Test.asm" an, die dir als Vorlage dienen sollen.

Ich werde in den nächsten Tagen einmal ein neues Thema "Standardisierte AVR-Assembler Programmierung" aufmachen, mit einigen Anregungen, wie die von Atmel erstellten Definitionen angewendet werden können um auch Anfängern (wie auch ich) und natürlich den Profis die Programmierung möglichst Prozessorunabhängig
zu gestalten. Über Anregungen und ein Reges Interesse würde ich mich jedenfalls sehr freuen.

Viele Grüße
Skyrider

kaisobczak
26.04.2005, 15:03
Hallo...ja hab ich mir das fast gedacht...alles klar...danke...

MFG

Kai

Florian
26.04.2005, 21:40
Hi Kai, hi Skyrider!
Heute morgen war ich kurz online und wollte eigentlich noch schnell antworten, aber leider war die Zeit vor der Schule zu kurz!
Tja, wer zuerst kommt ...!
Skyriders Erläuterungen kann ich nicht mehr ergänzen, sie sind so, wie ich sie auch formulieren wollte! ;o)

skyrider
27.04.2005, 08:55
Hi Florian,

danke für dein Lob, dann sind die letzten 10 Monate Studium von Datenblättern, Foren, Listings, etc.., etc.., etc.. doch nicht ganz spurlos an mir vorübergegangen, wollte mich aber nicht vordrängeln O:) .
Ich habe gestern (leider etwas später) endlich meine erste LCD-Routine zum laufen bekommen, schau doch einfach einmal unter "Universelle LCD Routine für AVR", könnte da noch etwas Unterstützung gebrauchen. Ist auch für Kai interessant, da die LCD-Routine in vielen Punkten kompatibel zu der von Andreas Schwarz ist, aber flexibler einsetzbar und in der nächsten Zeit vom mir auf jeden Fall (hoffentlich mit großer Unterstützung anderer) weiter ausgebaut wird.

So Long
Skyrider

Florian
27.04.2005, 13:58
Hi Skyrider!
Je schneller eine Antwort kommt, desto besser ist es doch! ;o)
Da ist es doch egal, ob die Antwort von Dir, oder von einem Moderator/mir kommt!
Hauptsache das Problem ist gelöst!

Ich schau's mir nachher mal an! :o)
Muss nur leider gleich schon wieder zur Schule, Vorstellung der Schule für die neuen Schüler/Tag der offenen Schule! ;o) *@tobimc: Melde mich nachher nochmal!*