
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
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 |