Girino - snabb Arduino oscilloskop (4 / 26 steg)
Steg 4: Inställning registrera bitar
Registren har några namn som anges i databladet beroende på deras betydelser, som ADCSRA för att ADC inställningen registrera A. Varje meningsfull bit av register har också ett namn, som ADEN för att ADC aktiverar Bit i ADCSRA register.
Ange deras bitar kunde vi med vanliga C syntaxen för binära algebra, men jag hittade på internet ett par makron som är mycket trevliga och rena:
Definierar för inställning och rensa registret bitar
#ifndef cbi
#define cbi (sfr, lite) (_SFR_BYTE(sfr) & = ~_BV(bit))
#endif
#ifndef sbi
#define sbi (sfr, lite) (_SFR_BYTE(sfr) | = _BV(bit))
#endif
Använda dem är mycket enkel, om vi vill sätta till 1 aktiverar lite ADC vi kan bara skriva:
SBI(ADCSRA,ADEN);
Medan om vi vill sätta den till 0 (id est klara det) vi kan bara skriva:
CBI(ADCSRA,ADEN);