« Microcontrôleur » : différence entre les versions
Aucun résumé des modifications |
Ajout source ESP32 et prog STM32 |
||
Ligne 69 : | Ligne 69 : | ||
=== Pinout d'un ESP32 classique et pins à éviter === | === Pinout d'un ESP32 classique et pins à éviter === | ||
Tous les pins sont capables du PWM. | Tous les pins sont capables du PWM. Voir ici pour plus de détails : https://lastminuteengineers.com/esp32-pinout-reference/ | ||
{| class="wikitable" | {| class="wikitable" | ||
|+Classification des pins d'un ESP32 | |+Classification des pins d'un ESP32 | ||
Ligne 223 : | Ligne 223 : | ||
* STM32CubeProgrammer<ref>https://www.st.com/en/development-tools/stm32cubeprog.html</ref> : Pour flash les MCU avec les fichiers compilés. | * STM32CubeProgrammer<ref>https://www.st.com/en/development-tools/stm32cubeprog.html</ref> : Pour flash les MCU avec les fichiers compilés. | ||
=== Overview du process de programmation classique === | |||
Vous pouvez ouvrir STM32CubeMX, choisir votre mcu et configurer les périphériques. Il faudra sélectionner les pins que vous voulez utiliser, par exemple en tant qu'ADC, les mettre sur le bon périphérique, puis aller dans le menu à gauche et chercher le périphérique que vous voulez pour terminer de le configurer (baud rate sur l'UART, source des clocks, ...). | |||
Votre pin devra passer de orange à vert lorsqu'il est bien configuré. | |||
Une fois tout bien configuré, vous pouvez cliquer sur suivant puis générer le code. | |||
Une fois cela fait, vous pouvez éditer le code situé dans /[dossier]/src/main.c avec votre IDE préféré, puis le compiler à l'aide STM32CubeIDE (il vous faut importer le projet d'abord). | |||
Une fois votre fichier .elf généré, vous pouvez ouvrir STM32CubeProgrammer, sélectionner votre méthode de programmation (UART, STLink, JTAG), puis cliquez sur Connect et attendez que votre board se connecte. Une fois la connection réussie, allez dans l'onglet Upload, choississez votre .elf et cliquez sur Upload. Une fois que c'est terminé, il ne vous reste plus qu'à reset le mcu en mode normal et tout devrait marcher ! | |||
=== Tips & Tricks === | |||
==== État du pin BOOT0 ==== | |||
C'est rarement précisé dans les datasheet, mais si le pin BOOT0 est à l'état haut le MCU sera en mode bootloader, à l'état bas il sera en mode normal | |||
{{Warning}}C'est l'inverse des ESP32 ! | |||
==== GPIO_Analog ==== | |||
Beaucoup de pins sont capables de passer en mode "GPIO_Analog". Mais aucun rapport avec l'ADC ! Cela veut simplement dire qu'ils sont déconnectés du circuit numérique qui est derrière. Une option dans STM32CubeMX passe tous les pins non utilisés en GPIO_Analog afin de réduire la consommation. | |||
==== UART et bootloader ==== | |||
Les pins d'UART1 peuvent être rebind une fois le MCU démarré, mais ces modifications ne s'appliquent pas dans le bootloader ! Il faudra flasher la carte avec les pins par défaut... | |||
== Ressources == | == Ressources == | ||
https://github.com/yellobyte/ESP32-DevBoards-Getting-Started | https://github.com/yellobyte/ESP32-DevBoards-Getting-Started | ||
[[Catégorie:Articles techniques d'électronique]] | [[Catégorie:Articles techniques d'électronique]] |