Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: Ich brauche mehr Variablenspeicher ! Kategorie: C-Control I V1.1 (von Andreas Schmidt - 15.04.2004 9:39)
 Als Antwort auf Ich brauche mehr Variablenspeicher ! von Andreas Sapp - 5.04.2004 21:06
> Hallo zusammen,
>
> gibt es eine Möglichkeit, mehr Variablenspeicher zu bekommen ?
>
> Wie ich gehört habe, sind es bei der CC1 nur 24 byte...
>
> Demnach kann ich nur 12 WORD-Variablen benutzen.
>
> Vielen Dank,
> Andreas
>
Hallo,

Das Problem läßt sich auch auf recht "radikale" Art und Weise lösen.

1. ein externes I2c RAM (256 Byte) anbauen.
2. DeepXS - Einbauen und so Lesen und Schreiben der Bytes
3. Kleine Routine (push, pop) schreiben die z.B. 10 Byte Register (RAM - VARs) zwischen internem RAM externem RAM austauscht
4. Die Routinen z.B, in Unterprogrammen zum Wechsel der Variablen Inhalte - verwenden
5. Durch mehrfaches "Define Variable Byte[x]" verschiedene Namensgruppen verwenden
    So entstehen mehrere "virtuelle Variablensätze" mit eigenen Namen - Compiler kommt damit zurecht.

Habe das fertig und im Test - z.Z. mit 12 * 12 Byte / Word Variablen - läuft super.

Kleines Beispiel einer SUB Routine mit eigenem Var-Satz:

#CMD9_Addr_High
 push_or_Pop = MEM_IO :GOSUB Pop_All
 WORD_gVar1 = WORD_gVar2 : GOSUB Convert_to_Hex : IF gVar2H = Hex_Value_Yes THEN iAdress_High = gVar2L :PRINT
 GOSUB Pop_Return
RETURN

iAdress_High - Byte Variable aus dem Bereich MEM_IO
Word_gVar2  - Word Variable aus dem nicht gemappten (globalen) Variablen bereich.

Die beiden Routinen Pop_ALL bzw. POP_Return "Mappen" 12 Variablen zwischen intern und extern.
Die Variable Pus_or_POP enthält den geforderten "Register Satz"
POP_Return Stellt den Variablenspeicher der Aufrufenden Routine wieder her und sichert die eigenen Daten im RAM-extern.

Zugegeben am Anfang etwas aufwändig -
      dann aber nie wieder Problem mit Variablen - und sogar "globale" und "lokale" Variablen...

Andreas

 Antwort schreiben

Bisherige Antworten: