Différences entre versions de « Guide STM32CubeIDE »
Ligne 34 : | Ligne 34 : | ||
1. Aller dans le fichier ''Core/Src/main.c/cpp''. | 1. Aller dans le fichier ''Core/Src/main.c/cpp''. | ||
− | 2. Ajouter entre les balises <syntaxhighlight lang=" | + | 2. Ajouter entre les balises <syntaxhighlight lang="c" inline>/* USER CODE BEGIN 0 */</syntaxhighlight> et <syntaxhighlight lang="c" inline>/* USER CODE END 0 */</syntaxhighlight> la fonction suivante: |
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="c"> |
int __io_putchar(int ch) | int __io_putchar(int ch) | ||
{ | { | ||
Ligne 45 : | Ligne 45 : | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | 3. Ajouter entre les balises <syntaxhighlight lang=" | + | 3. Ajouter entre les balises <syntaxhighlight lang="c" inline>/* USER CODE BEGIN Includes */</syntaxhighlight> et <syntaxhighlight lang="c" inline>/* USER CODE END Includes */</syntaxhighlight> l'include suivant: |
<syntaxhighlight lang="C"> | <syntaxhighlight lang="C"> | ||
#include <stdio.h> | #include <stdio.h> |
Version du 23 mars 2020 à 16:10
Installation
- Accèder à https://www.st.com/en/development-tools/stm32cubeide.html.
- Télecharger la dernière version du logiciel pour votre plateforme (cela passe par la création d'un compte myST).
- Programmer.
Créer un nouveau projet
À faire
Importer un projet existant
Pour importer un projet existant (après avoir cloner un dépot Git par exemple), il est facile de l'importer sous STM32CubeIDE.
Pour cela, accédez à File>Open project from File System.
Rechercher le projet sur votre ordinateur et cliquez sur Terminer
Tutoriels
Balises STM32CubeMX
Lors de la génération (ou regénération) du fichier main, STM32CubeMX ajoute des balises de la forme <syntaxhighlight lang="C" inline>/* USER CODE BEGIN X */</syntaxhighlight> et <syntaxhighlight lang="C" inline>/* USER CODE END X */</syntaxhighlight>. Lorsque vous voulez ajouter du code dans ce fichier, veillez à le faire entre des balises, sinon votre code sera supprimé.
Si vous souhaitez regénérer votre projet avec STM32CubeMX. Si vous devez ajouter du code à un endroit ou aucune balise n'est disponible, c'est sûrement que vous ne vous y prenez pas de la bonne manière...
Projet C et C++
À faire
UART: utilisation du printf
Afin de rediriger le printf sur une liaison série (et afficher des messages dans une console par exemple) il est necessaire de réaliser quelques modifications:
1. Aller dans le fichier Core/Src/main.c/cpp.
2. Ajouter entre les balises <syntaxhighlight lang="c" inline>/* USER CODE BEGIN 0 */</syntaxhighlight> et <syntaxhighlight lang="c" inline>/* USER CODE END 0 */</syntaxhighlight> la fonction suivante:
<syntaxhighlight lang="c"> int __io_putchar(int ch) { uint8_t c = ch & 0x00FF; HAL_UART_Transmit(&huart2, &c, 1, 10); return ch; } </syntaxhighlight>
3. Ajouter entre les balises <syntaxhighlight lang="c" inline>/* USER CODE BEGIN Includes */</syntaxhighlight> et <syntaxhighlight lang="c" inline>/* USER CODE END Includes */</syntaxhighlight> l'include suivant: <syntaxhighlight lang="C">
- include <stdio.h>
</syntaxhighlight>
Lors de l'utilisation du printf, ayez le réflexe d'ajouter systèmatiquement \n à la fin de chaque trame afin de vider le buffer et bien réaliser la communication.
Dans cet guide, j'utilise le handler sur UART nommé huart2, pour une carte Nucleo F446RE, c'est la liason utilisée par le ST-Link. Si vous voulez utiliser une autre liaison, pensez à le remplacer. Pour configurer une nouvelle liason série, voir ce guide.
Ajouter une liaison UART, I2C, etc
À faire
Porter une bibliothèque existante
À faire