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: Bitadressierung OCBASIC/Open Maxi Kategorie: Open-Micro/Open-Mini/Open-Midi/Open-Macro/Open-Maxi (von Dietmar, Homepage - 8.04.2021 19:10)
 Als Antwort auf Bitadressierung OCBASIC/Open Maxi von laika - 8.04.2021 18:44
Dietmar nutzt:  Open-Micro, Open-Mini, Open-Midi, Open-Macro, Open-Maxi, Open-Mini Station
Hallo Laika,

ich denke, ich habe das Passende gefunden.

> define zustand byte[10]
>   define standby bit[73]
>   define heizt   bit[74]

Ich würde das anders definieren. Auf den OM-Controllern ist es guter Programmierstil, allen Variablen vom OCBASIC-Compiler automatisch Speicherzellen zuweisen zu lassen. Um dem Anwender die Aufteilung des zur Verfügung stehenden RAM-Speichers zu erleichtern, unterstützt der OCBASIC-Compiler eine neue OF-Syntax, mit der Bitvariablen nicht mehr auf festen Positionen im USER-RAM gespeichert werden müssen, sondern innerhalb von Byte- oder Wordvariablen als Bitfelder ("Bitarrays") abgelegt werden können. Die Byte- oder Wordvariablen lassen sich dann vom Compiler automatisch verwalten. Durch dieses Verfahren müssen keine Variablen mehr manuell an festen Positionen plaziert werden. Wenn später Variablen hinzukommen, verschiebt der Compiler die restlichen Variablen entsprechend.

DIM zustand BYTE
DIM standby BIT[1] OF zustand
DIM heizt   BIT[2] OF zustand
DIM betrieb BIT[3] OF zustand

standby=ON
heizt=OFF
betrieb=ON

> Frage: Wie komme ich in der Prozedur an die Bits "standby", "heizt" usw. ran?
> Zeiger auf Bits gibt es ja nicht. Das Einzige, was mir einfällt, ist ein Bitmuster &B.... verwenden. Aber das ist fummelig.

Es gibt mehrere Möglichkeiten. Eine ist beispielsweise im Programm BSETBCLR.BAS im Verzeichnis OM im ZIP-Archiv des OCBASIC-Compilers beschrieben. Sie nennt sich "Subroutinen und Funktionen zum leichten Zugriff auf einzelne Bits". Oder man arbeitet mit einer Kopie.

Freundliche Grüße

Dietmar

Passender Link: Offizielle Infosite zu den OM-Mikrocontrollern

Meine Homepage: http://ccintern.dharlos.de

 Antwort schreiben

Bisherige Antworten:

Re: Bitadressierung OCBASIC/Open Maxi (von laika - 9.04.2021 10:03)
    Re: Bitadressierung OCBASIC/Open Maxi (von Dietmar - 9.04.2021 12:37)