Hallo habe da eine Frage kann mir vieleicht bitte jemand helfen? ADCON = 0x3e; (also 00111110b) wie setzte ich das 4 Bit wieder auf Null ohne die anderen stellen zu ändern und das ADCON ist nicht bitadressierbar. MFG Franz
Einlesen, verunden mit 0b11101111 und wieder zurückschreiben. Wobei das möglicherweise auch der Compiler für dich übernimmt, kannste mal das ausprobieren: ADCON &= ~(1<<4); //entspricht 0b11101111, falls 8bit
Franz schrieb: > Ja aber die anderen Bits darf ich nicht verändern Mit einem Hilfsregister für ADCON arbeiten. Das Bit im Hilfsregister setzen und dann das komplette Byte auf ADCON ausgeben.
Franz schrieb: > Ja aber die anderen Bits darf ich nicht verändern Und wo wird ein Bit verändert, das mit 1 verundet wird? Solltest dir mal Bitmanipulation anschauen.
Darf ich das auch so machen oder gibt es da Probleme? ADCON = 0x2e;
Ok jetzt habe ich es aber wo ist der unterschied wenn ich das so ADCON = ADCON & 0xEF; oder so ADCON = 0x2E; mache???
Das erste lässt alle Bits außer dem einen so wie sie waren, das zweite nicht. Was passiert, wenn ADCON vorher 1011_0001 war? mit & 1110_1111 wird es zu 1010_0001, also nur dein eines Bit wird gelöscht mit = 0010_1110 wird es zu 0010_1110, also wird alles verändert Kleiner Unterschied, oder?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.