Hallo zusammen,
ich habe ein paar Routinen in Bascom geschrieben, die ich nach und nach in eine Lib übertragen will. Hier ein Beispiel:
Code:
Sub OSDClear()
'[OSDClear]
_OSDClear:
lds xl,{_Screen_Start} ' Startadresse Bildbuffer laden
lds xh,{_Screen_Start+1}
ldi yl,lbyte(BufferSize) ' BufferZize nach Y
ldi yh,hbyte(BufferSize)
clr r24
_OSDClearScreen:
st x+,r24
sbiw yl,1
breq _OSDClearScreenExit
rjmp _OSDClearScreen
_OSDClearScreenExit:
End Sub
Nun greife ich über diese Routinen auf ein ByteArray zu, was in Bascom auch funktioniert. Das Array brauche ich aber später in der Lib und nicht im Hauptprogramm.
Nun die Frage:
Wie definiere ich in einer Library ein Array über beispielsweise 512 Byte. Muss das in einer Routine gemacht werden oder wird das ganz am Anfang gemacht?
Das ganze soll ähnlich funktionieren wie der Befehl
Code:
Config Serialin=Buffered
Der Buffer wird erst angelegt, wenn die Initialisierung aufgerufen wird.
Wie wird also das Array angelegt und wie kann ich innerhalb der Lib z.B. auf den ersten Index des Arrays zugreifen?
Ich verwende aktuell die Vollversion BascomAVR 1.11.9.5
Vielen Dank schon mal für eure Hilfe!
Mitch.
Lesezeichen