Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
|
logiciels:printf_stm32:accueil [2016/10/11 15:08] jonathan [Tuto] |
logiciels:printf_stm32:accueil [2017/08/29 11:25] (Version actuelle) jonathan [Tuto] |
||
|---|---|---|---|
| Ligne 6: | Ligne 6: | ||
| 1. Mapper les pins de USART à l'aide de " | 1. Mapper les pins de USART à l'aide de " | ||
| - | * Repérer dans la documentation de votre carte les pins qui font le lien entre le microcontrôleur\\ | + | * Repérer dans la documentation de votre carte les pins qui font le lien entre le microcontrôleur et le ST-Link. Pour vous aidez utiliser la fonction de recherche " |
| - | et le ST-Link. Pour vous aidez utiliser la fonction de recherche " | + | |
| * Ouvrir " | * Ouvrir " | ||
| * Dans l' | * Dans l' | ||
| Ligne 15: | Ligne 14: | ||
| * //Parity// : **None** | * //Parity// : **None** | ||
| * // | * // | ||
| - | * Finir par générer le projet. | + | * Finir par générer le projet.\\ |
| + | |||
| + | 2. Ajouter le fichier source " | ||
| + | * Le fichier " | ||
| + | * Vous pouvez le trouvé grâce au fonctions de recherche de votre OS. | ||
| + | * Le copier et le placer dans le dossier src de votre projet. | ||
| + | * Editer le et commenté la ligne #define FreeRTOS. | ||
| + | * Déplacer vous dans le dossier ou ce trouve vos linker script | ||
| + | * Créer un fichier " | ||
| + | <code c+> | ||
| + | /* Placeholder to list other libraries required by the application. GROUP() */ | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | 3. Modifier le fichier de configuration de UART (USART.c): | ||
| + | * Ouvrir le fichier et placer ceci entre **/* USER CODE BEGIN 0 */** et **/* USER CODE END 0 */** : | ||
| + | <code c+> | ||
| + | #ifdef __GNUC__ | ||
| + | /* With GCC/ | ||
| + | set to ' | ||
| + | #define PUTCHAR_PROTOTYPE int __io_putchar(int ch) | ||
| + | #else | ||
| + | #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f) | ||
| + | #endif /* __GNUC__ */</ | ||
| + | |||
| + | et coller ceci entre **/* USER CODE BEGIN 1 */** et **/* USER CODE END 1 */** :\\ | ||
| + | <code c+> | ||
| + | /** | ||
| + | * @brief | ||
| + | * @param | ||
| + | * @retval None | ||
| + | */ | ||
| + | PUTCHAR_PROTOTYPE | ||
| + | { | ||
| + | /* Place your implementation of fputc here */ | ||
| + | /* e.g. write a character to the USART2 and Loop until the end of transmission */ | ||
| + | HAL_UART_Transmit(& | ||
| + | |||
| + | return ch; | ||
| + | }</ | ||
| + | |||
| + | Vérifier qu'il n'y est pas d' | ||
| + | Si erreur il y a il faut récupérer la variable en haut du fichier nomé UART_HandleTypeDef **huart2**; | ||
| + | |||
| + | Finir en ajoutant #include < | ||
| | | ||
| - | 2. Activer les options de compilation : | + | 4. Activer les options de compilation |
| - | * Faire " | + | |
| - | * Dans C/C++ Build -> Settings -> Tool settings -> Cross ARM C Linker -> Miscellaneous. Cocher les options suivantes : | + | |
| - | | + | * Use newlib-nano (--specs=nano.specs) |
| - | | + | * Use float with nano printf (-u_printf_float) |
| + | * Dans C/C++ Build -> Settings -> Tool settings -> Cross ARM C Linker -> General. | ||
| + | * Ajouter le chemin vers le fichier " | ||
| + | |||
| + | 5. Test. | ||
| + | * Placer un text dans le main.c | ||
| + | exemple : | ||
| + | <code c+> | ||
| + | printf(" | ||
| + | HAL_Delay(1000); | ||
| + | </ | ||
| + | Le retour chariot et important!!! | ||