Différences entre versions de « Guide STM32CubeIDE »

De Polybot Grenoble
Sauter à la navigation Sauter à la recherche
Ligne 17 : Ligne 17 :
 
Dans cet exemple, j'utilise le handler huart2, pensez à le remplacer par le votre évidemment.
 
Dans cet exemple, j'utilise le handler huart2, pensez à le remplacer par le votre évidemment.
  
- Aller dans le fichier Core/Src/syscalls.c
+
- Aller dans le fichier Core/Src/main.c/cpp
- Remplacer
+
- Ajouter
  
<syntaxhighlight lang="C">
 
extern int __io_putchar(int ch) __attribute__((weak));
 
</syntaxhighlight>
 
 
par:
 
 
<syntaxhighlight lang="C">
 
<syntaxhighlight lang="C">
 
int __io_putchar(int ch)
 
int __io_putchar(int ch)
Ligne 33 : Ligne 28 :
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
entre les balises <syntaxhighlight lang="C" inline>/* USER CODE BEGIN 0 */</syntaxhighlight> et <syntaxhighlight lang="C" inline>/* USER CODE END 0 */</syntaxhighlight>.
  
 
- Ajouter :
 
- Ajouter :

Version du 23 mars 2020 à 14:29

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.

Pour ajouter une liason série, voir ce guide.

Dans cet exemple, j'utilise le handler huart2, pensez à le remplacer par le votre évidemment.

- Aller dans le fichier Core/Src/main.c/cpp - Ajouter

<syntaxhighlight lang="C"> int __io_putchar(int ch) { uint8_t c = ch & 0x00FF; HAL_UART_Transmit(&huart2, &c, 1, 10); return ch; } </syntaxhighlight>

entre les balises <syntaxhighlight lang="C" inline>/* USER CODE BEGIN 0 */</syntaxhighlight> et <syntaxhighlight lang="C" inline>/* USER CODE END 0 */</syntaxhighlight>.

- Ajouter : <syntaxhighlight lang="C">

  1. include "main.h"

extern UART_HandleTypeDef huart2; </syntaxhighlight>

Balises STM32CubeMX

Porter une bibliothèque existante