PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Code in extra dateien auslegen



Felix H.
17.06.2010, 19:23
Hi,

es gibt in Bascom doch die möglichkeit einen Teil des Codes zum Beispiel Routinen, in extra dateien mit der endung .inc anzulegen um den Code übersichtlicher zu gestalten. Diese dateien binde ich dann mit $include "egal.inc" in mein Hauptprogramm ein. Nun habe ich aber folgendes Problem...

ich habe ein 240x128er Display am Atmega. In einem Teil des Codes den ich in eine solche extra Datei verlegt habe komm z.b. drin vor:

Locate 6 , 1
LCD A

oder auch

showpic "test.bgf"

jetz habe ich das Problem das er mir das nicht macht. Ich bekomme beim compilieren den fehler, dass beim Locate befehl dieser "out of range" ist. Der sollte 0-4 sein. Also von der Y Reihe. Das Bild geht auch nicht. Scheinbar werden in den extra dateien die großen Displays nicht unterstützt. Pack ich den Teil in mein Hauptprogamm geht es bestens.

Gibts da irgend einen Trick wie ich das hinbekomme? Wäre nützlich weil mir der Code sonst zu unübersichtlich wird.

Gruß
Felix

for_ro
17.06.2010, 19:48
Es kommt bei der Verwendung der Include Dateien auf die Reihenfolge der Befehle an. Der Inhalt der Datei wird komplett genau an die Stelle im Hauptprogramm eingefügt, an der der $include-Befehl steht.
Wenn bis dahin im Hauptprogramm noch kein Config GraphLCD gekommen ist, geht der Compiler von einem 4-Zeilen Textdisplay aus.

Felix H.
17.06.2010, 19:56
ich habs unter den ganzen configs stehen, aber vor dem eigentlichen Programm....

Felix H.
17.06.2010, 20:01
habs jetzt hinter das programm gemacht weil da normalerweise die subroutinen ja stehen. Jetz gehts bestens *lol*

Dank dir^^ =)

peterfido
17.06.2010, 20:43
Das liegt daran, dass diese Routinen einen relativen Sprung nutzen und diese beiden Adressen im Flash zu weit auseinander wären. Am besten alle LCD-Routinen nah "beieinander packen".