Différences entre versions de « Guide STM32CubeIDE »

De Polybot Grenoble
Sauter à la navigation Sauter à la recherche
Ligne 11 : Ligne 11 :
 
==printf en UART==
 
==printf en UART==
  
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.
+
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:
  
Pour ajouter une liason série, voir ce guide.
+
1. Aller dans le fichier Core/Src/main.c/cpp.
  
Dans cet exemple, j'utilise le handler ''huart2'', pensez à le remplacer par le votre évidemment.
+
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:
 
 
- Aller dans le fichier Core/Src/main.c/cpp.
 
 
 
- 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">
 
<syntaxhighlight lang="C">
Ligne 30 : Ligne 26 :
 
</syntaxhighlight>
 
</syntaxhighlight>
  
- 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:
+
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>
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
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.
  
 
==Balises STM32CubeMX==
 
==Balises STM32CubeMX==
 
==Porter une bibliothèque existante==
 
==Porter une bibliothèque existante==

Version du 23 mars 2020 à 15:37

Pendant l'année 2019/2020, nous avons eu la volonté d'utiliser STM32CubeIDE suite aux déboires de la coupe 2018/2019. En effet, Mbed est un bon outil pour débuter mais on atteint rapidement ses limites en terme de débuggage et contrôle.

Aussi, la gestion du code en local et l'utilisation de dépot Git est beaucoup plus pratique.

Installation

Creer un nouveau projet

Tutos en vrac

printf en UART

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">

  1. include <stdio.h>

</syntaxhighlight>

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.

Balises STM32CubeMX

Porter une bibliothèque existante