Hallo zusammen,
ich habe ein paar Routinen in Bascom geschrieben, die ich nach und nach in eine Lib übertragen will. Hier ein Beispiel:
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.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 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
Der Buffer wird erst angelegt, wenn die Initialisierung aufgerufen wird.Code:Config Serialin=Buffered
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.







Zitieren

Lesezeichen