Ligne 13 : |
Ligne 13 : |
| Nous allons maintenant étudier comment ils se programment. | | Nous allons maintenant étudier comment ils se programment. |
| | | |
− | ==Pourquoi utilisé CubeIDE== | + | ==Pourquoi utiliser CubeIDE== |
| | | |
| Les MCU étant des ordinateurs minimalistes, ils ne possèdent pas de système d’exploitation (linux etc…). Il n’y en a aussi pas l'intérêt. De ce fait, les programmes au sein de MCU sont souvent codés, compilés puis téléversés par un ordinateur extérieur. | | Les MCU étant des ordinateurs minimalistes, ils ne possèdent pas de système d’exploitation (linux etc…). Il n’y en a aussi pas l'intérêt. De ce fait, les programmes au sein de MCU sont souvent codés, compilés puis téléversés par un ordinateur extérieur. |
Ligne 109 : |
Ligne 109 : |
| Ainsi pour réussir notre application, nous allons réaliser le code suivant: | | Ainsi pour réussir notre application, nous allons réaliser le code suivant: |
| [[Fichier:Code pour commander la LED avec le Boutton PC13.png|cadre|centré]] | | [[Fichier:Code pour commander la LED avec le Boutton PC13.png|cadre|centré]] |
| + | Vous connaissez maintenant les fondamentaux sur les GPIOs. Nous allons maintenant vous proposer diverse petit projet à réaliser par vous même pour consolider vos bases. |
| | | |
− | ====Faire clignoter la LED==== | + | ====POUR ALLER PLUS LOIN==== |
| + | =====PROJET 1 : Faire clignoter une LED avec HAL_DELAY===== |
| + | Faite clignotez une LED avec la fonction HAL_Delay(tmps) tmps en secondes. |
| + | =====PROJET 2 : Clignoter une LED + boutons poussoir===== |
| + | Lorsque l'on appuie une fois sur le bouton la LED clignote et lorsque l'on appuie une seconde fois elle s'éteint. |
| + | =====PROJET 3 : Commander une LED externe à la carte===== |
| + | Pour ce projet, réutilisez l'un des codes vue auparavant. Configurez un nouveau port de sortie output sur CubeMx. Branchez une résistance en série à une LED sur le nouvelle OUTPUT puis exécuter votre code. |
| + | ATTENTION, utilisez bien une RÉSISTANCE sinon la LED EXPLOSERA ! |
| + | =====PROJET 4 : Commander une LED avec un capteur de fin de course===== |
| | | |
| ==UART: utilisation du printf== | | ==UART: utilisation du printf== |
Ligne 160 : |
Ligne 169 : |
| À courte distance de connexion :<br> | | À courte distance de connexion :<br> |
| On connecte directement TXD1→RXD2 et RXD1→TXD2 + Masse. On s’assure que les niveaux logiques correspondent aux niveaux logiques des deux éléments.<br> | | On connecte directement TXD1→RXD2 et RXD1→TXD2 + Masse. On s’assure que les niveaux logiques correspondent aux niveaux logiques des deux éléments.<br> |
− | Ensuite on peut télécharger un logiciel de Terminal UART (ex GTKERM (Linux) ou Putty (Windows)), ou alors on peut développer sa propre interface. (Voir libraire Serial sur Python) | + | Ensuite on peut télécharger un logiciel de Terminal UART (ex GTKERM (Linux) ou Putty (Windows)), ou alors on peut développer sa propre interface. (Voir libraire Serial sur Python). <br> |
| Pour plus d'information : https://www.youtube.com/watch?v=kVd8Zj413l8 | | Pour plus d'information : https://www.youtube.com/watch?v=kVd8Zj413l8 |
| | | |
| ===Mise en place de l'UART sur STM32CubeIDE=== | | ===Mise en place de l'UART sur STM32CubeIDE=== |
| + | ====Utilisation et Installation PUTTY et GTKTERM==== |
| + | À POLYBOT, nous pouvons vous aider sur deux outils de lecture et rans |
| ====Configuration sur MX ==== | | ====Configuration sur MX ==== |
| Pour débuter, créer un nouveau projet comme décrit dans la section 2.2. (Cible STM32 NUCLEO-F446RE pour ce tuto). | | Pour débuter, créer un nouveau projet comme décrit dans la section 2.2. (Cible STM32 NUCLEO-F446RE pour ce tuto). |
Ligne 176 : |
Ligne 187 : |
| -> bit de stop correspond au nombre de bits utilisés pour déclarer la fin d'un caractère/word. Il est ici à 1.<br> | | -> bit de stop correspond au nombre de bits utilisés pour déclarer la fin d'un caractère/word. Il est ici à 1.<br> |
| Pour l'instant, nous n'allons pas toucher ou modifier ces paramètres. | | Pour l'instant, nous n'allons pas toucher ou modifier ces paramètres. |
| + | |
| + | ==== |
| | | |
| ==Interruptions== | | ==Interruptions== |