Schritt 4: Einstellungen-Register-bits
Die Register haben einige Namen, die auf dem Datenblatt je nach ihren Bedeutungen, wie ADCSRA für ADC anmelden Einstellung A. angegeben sind Jedes sinnvolle Bits der Register hat einen Namen, wie ADEN für die ADC aktivieren Bit im Register ADCSRA.
Um ihre Bits gesetzt, können wir die üblichen C-Syntax für binäre Algebra, aber ich fand im Internet ein paar Makros, die sind sehr schön und sauber:
Für die Festlegung und clearing-Register-Bits definiert
#ifndef cbi
#define cbi (Sfr, bit) (_SFR_BYTE(sfr) & ~_BV(bit)) =
#endif
#ifndef sbi
#define Sbi (Sfr, bit) (_SFR_BYTE(sfr) | = _BV(bit))
#endif
Mit ihnen ist sehr einfach, wenn wir auf 1 festlegen aktivieren Bit des ADC können wir nur schreiben möchten:
SBI(ADCSRA,Aden);
Während will man es auf 0 gesetzt (Id est deaktivieren sie das Kontrollkästchen) können wir nur schreiben:
CBI(ADCSRA,Aden);