ESP32 manipulation des ports

Bonjour, quelle est la méthodologie pour manipuler directement les ports de l'ESP32 comme on peut le faire avec l'Arduino? L'idée est d'écrire directement dans les ports plutôt que d'utiliser un digitalwrite. Merci bcp

Quelques éléments de réponse ici. Ici aussi, si tu peux traduire l'allemand
Les codes sources de digitalWrite et digitalRead sont ici
La doc de l'API est ici

Un post intéressant ici qui compare les vitesses de plusieurs solutions de lecture / écriture des ports. Les codes sont fournis : il compare

digitalWrite(22, 1);
gpio_set_level(GPIO_NUM_22, 1);
GPIO.out_w1ts = ((uint32_t)1 << 22);
REG_WRITE(GPIO_OUT_W1TS_REG, BIT22);

Les deux derniers sont les plus rapides.

Bonne lecture !

Bonjour, parfait. Mille mercis. J'ai continué mes recherches et un site est très bien fait: https://www.reddit.com/r/esp32/comments/f529hf/results_comparing_the_speeds_of_different_gpio/
Merci encore

Intéressant. Un facteur un à quatre suivant la méthode. Je retiens. Merci pour le lien.

Bonjour,
juste pour signaler que l'esp32 est doté d'un ensemble de périphériques assez riche (timers, spi ... par exemple), qui dispensent pas mal d'avoir à écrire sur les ports

+1

PWM spécialisés comme LEDC et PCPWM , génération de signaux (RMT), Sigma Delta, I2S.....

C'est assez bien documenté pour le Framewok d'Espressoif (IDF)
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/index.html

moins pour l'IDE Arduino, donc peu connu.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.