Funkcia → analogReadResolution()
Popis :
analogReadResolution() je rozšírením analógového API pre rodinu Zero, Due, MKR, Nano 33 (BLE a IoT) a Portenta. Nastavuje veľkosť (v bitoch) hodnoty vrátenej funkciou analogRead(). Predvolená hodnota je 10 bitov (vracia hodnoty medzi 0-1023) pre spätnú kompatibilitu s doskami založenými na AVR. Dosky Zero, Due, MKR a Nano 33 (BLE a IoT) majú 12-bitové možnosti ADC, ku ktorým je možné pristupovať zmenou rozlíšenia na 12. To vráti hodnoty z analogRead() medzi 0 a 4095. Portenta H7 má 16-bitový ADC, ktorý umožňuje hodnoty medzi 0 a 65535.
Syntax :
analogReadResolution(bits)
Parametre :
bity: určuje rozlíšenie (v bitoch) hodnoty vrátenej funkciou analogRead(). Môžete to nastaviť medzi 1 a 32. Môžete nastaviť rozlíšenie vyššie ako podporovaných 12 alebo 16 bitov, ale hodnoty vrátené funkciou analogRead() sa budú približovať.
Returns : –
Príklad kódu :
Kód ukazuje, ako používať ADC s rôznymi rozlíšeniami.
void setup() {
// otvoriť sériové pripojenie
Serial.begin(9600);
}
void loop() {
//čítať vstup na A0 v predvolenom rozlíšení (10 bitov)
//a odoslať ho cez sériové pripojenie
analogReadResolution(10);
Serial.print("ADC 10-bit (default) : ");
Serial.print(analogRead(A0));
// zmeniť rozlíšenie na 12 bitov a prečítať si A0
analogReadResolution(12);
Serial.print(", 12-bit : ");
Serial.print(analogRead(A0));
// zmeniť rozlíšenie na 16 bitov a prečítať si A0
analogReadResolution(16);
Serial.print(", 16-bit : ");
Serial.print(analogRead(A0));
// zmeniť rozlíšenie na 8 bitov a prečítať si A0
analogReadResolution(8);
Serial.print(", 8-bit : ");
Serial.println(analogRead(A0));
// a little delay to not hog Serial Monitor
delay(100);
}
Poznámky :
Ak nastavíte hodnotu analogReadResolution() na hodnotu vyššiu, než sú možnosti vašej dosky, Arduino to bude hlásiť iba pri najvyššom rozlíšení a doplní extra bity nulami.
Napríklad: použitie Due s analogReadResolution(16) vám poskytne približné 16-bitové číslo, pričom prvých 12 bitov obsahuje skutočné čítanie ADC a posledné 4 bity sú doplnené nulami.
Ak nastavíte hodnotu analogReadResolution() na hodnotu nižšiu, ako sú možnosti vašej dosky, najmenej významné bity načítané z ADC budú vyradené. Použitie 16-bitového rozlíšenia (alebo akéhokoľvek rozlíšenia vyššieho ako sú skutočné možnosti hardvéru) vám umožňuje písať skice, ktoré automaticky spracovávajú zariadenia s vyšším rozlíšením ADC.
Pridaj komentár