Forum: Mikrocontroller und Digitale Elektronik schnele Bitmanipulation


von Einsteiger (Gast)


Lesenswert?

Hallo zusammen,

wie kann ich in "C" die einzelnen Bits manipulieren? oder muss ich immer 
mit dem ganzen PORT/Variable arbeiten??
in Assembler gibts z.B " bsf PORTA.5"


Gruß

von Patrick (Gast)


Lesenswert?


von Johannes M. (johnny-m)


Lesenswert?

Das kommt ganz auf den Compiler an. Grundsätzlich ist auf 
C-Hochsprachenebene das Byte die kleinste Einheit (ANSI-Standard), und 
demzufolge muss ein Register auch als solches angesprochen werden. Wenn 
es im Zielsystem (auf Hardware-Ebene) die Möglichkeit gibt, bestimmte 
Bits direkt anzusprechen und der Compiler schlau genug ist, zu erkennen, 
dass sich eine C-Anweisung durch einen Bitzugriff erledigen lässt, dann 
wird er das auch tun. Andernfalls eben nicht. Da Du weder zu Deinem 
Compiler noch zum Zielsystem etwas erzählst, kann man da nichts 
konkreteres zu sagen. Es gibt auch Compiler, die auf C-Ebene einen 
Pseudo-Bitzugriff implementieren, was dann aber nicht mehr dem Standard 
entspricht.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.