[Zero, Due & MKR család]
Leírás
Az analogWriteResolution() az Arduino Due analóg API-jának kiterjesztése. Az analogWriteResolution() beállítja az analogWrite() függvény felbontását. Alapértelmezés szerint 8 bites (0-255 közötti értéket vehet fel), az AVR alapú alaplapokkal való visszamenőleges kompatibilitás miatt.
Az Due a következő hardveres képességekkel rendelkezik:
- 12 kimenet, amely a többi Arduino alaplaphoz hasonlóan 8 bites PWM-et használ. Ezek felbontása 12 bitre változtathatók.
- 2 kimenet 12 bites DAC-tal (Digital-to-Analog Converter)
Ha a felbontást 12-re állítja, akkor az analogWrite() -ot 0 és 4095 közötti értékekkel használhatja a teljes DAC felbontás kihasználására.
A Zero a következő képességekkel rendelkezik:
- 10 kimenet, amely a többi Arduino alaplaphoz hasonlóan 8 bites PWM-et használ. Ezek felbontása 12 bitre változtathatók.
- 1 kimenet 10 bites DAC-tal (Digital-to-Analog Converter).
Ha az írási felbontást 10-re állítja, akkor a analogWrite() értékét 0 és 1023 közötti értékkel használhatja a teljes DAC felbontás kihasználására.
Az MKR táblák családjának a következő hardver lehetőségei vannak:
- 4 kimenet, amely a többi Arduino alaplaphoz hasonlóan 8 bites PWM-et használ. Ezek felbontása 12 bitre változtathatók.
- 1 kimenet, 10 bites DAC-tal (Digital-to-Analog Converter)
Ha a felbontást 12 bitre állítja, akkor használhatja az analogWrite() értéket 0 és 4095 közötti értékkel a PWM jelekhez; állítson be 10 bitet a DAC kimeneten, a teljes DAC felbontás kihasználásához.
Szintaxis
analogWriteResolution(bit)
paraméterek
bit: meghatározza az analógWrite() függvényben használt értékek felbontását (bitben). Az érték 1-től 32-ig terjedhet. Ha olyan felbontást választ, amely magasabb vagy alacsonyabb, mint az alaplap képessége, akkor a hardweres minimum vagy a maximum hajtódik végre. A részleteket lásd az alábbi megjegyzésben.
Eredmény
nincs
Példaprogram
Megjegyzések és figyelmeztetések
Ha az analogWriteResolution() értéket az alaplap képességeinél magasabb értékre állítja, az Arduino eldobja a további biteket. Például: a Due analogWriteResolution(16) használatával 12 bites DAC lábon csak az analogWrite() értékhez átadott értékek első 12 bitjét fogjuk használni, és az utolsó 4 bitet nem veszi figyelembe.
Ha az analogWriteResolution() értéket alacsonyabb értékre állítja, mint amit az alaplap tud, akkor a hiányzó bitek nullákkal töltődnek fel, hogy ki legyen töltve a megadott érték. Például: a Due analogWriteResolution (8) használatával egy 12 bites DAC lábon, az Arduino hozzáadja a 4 "nullás" bitet az analogWrite() által használt 8 bites értékhez, hogy megkapja a szükséges 12 bitet.