{{tag>riot iot pwm todo}} ====== RIOT-OS: Le périphérique PWM ====== RIOT propose un interface virtualisée (ou générique) PWM désignée "périphérique PWM" (**periph_pwm** ). Le code utilisant cette interface gagne en portabilité, il pourra être compilé vers différentes cibles suportant la génération de signaux PWM. C'est une API simplifiée elle peut avoir pour inconvénient de faire perdre certaines fonctionnalités propre à un matériel particulier Le signal PWM (MLI, Modulation de la largeur d’impulsion) est un signal de **fréquence constante** et de **rapport cyclique variable**. * **Période** de la sortie PWM: Durée en secondes au bout de laquelle le motif PWM se répète. * **Fréquence**: Nombre de répétition du motif PWM par seconde. Inverse de la période. * **Résolution**: Granularité avec laquelle le rapport cyclique (Duty Cycle) peut être modulé. ===== ESP32 ===== Les correspondances entre canaux PWM des périphériques virtuels de RIOT et les ports GPIOs pour les cartes ESP32-DEVKIT sont définies dans le fichier Le tableau ci-dessous résume les affectations: ^ Device ^ Channel ^ GPIO | | 0 | 0 | GPIO0 | | 0 | 1 | GPIO2 | | 0 | 2 | GPIO4 | | 0 | 3 | GPIO16 | | 0 | 4 | GPIO17 | | 1 | 0 | GPIO27 | | 1 | 1 | GPIO32 | | 1 | 2 | GPIO33 | ===== Références ===== * https://doc.riot-os.org/group__drivers__periph__pwm.html * https://www.electronique-mixte.fr/pwm/