Wiki

Reso-nance numérique | Arts et cultures libres

Outils du site


logiciels:printf_stm32:accueil

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Dernière révision Les deux révisions suivantes
logiciels:printf_stm32:accueil [2016/10/11 15:28]
jonathan [Tuto]
logiciels:printf_stm32:accueil [2017/08/29 11:20]
jonathan [Tuto]
Ligne 24: Ligne 24:
     * Créer un fichier "**lib.ld**" et y placer ceci :      * Créer un fichier "**lib.ld**" et y placer ceci : 
  
- + * Placeholder to list other libraries required by the application.
-<blockquote> * Placeholder to list other libraries required by the application.+
    
 GROUP( GROUP(
Ligne 39: Ligne 38:
    libm.a    libm.a
    libnosys.a    libnosys.a
- )</blockquote>+ )
  
 +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 */** :
 +#ifdef __GNUC__
 +/* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf
 +   set to 'Yes') calls __io_putchar() */
 +#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  Retargets the C library printf function to the USART.
 +  * @param  None
 +  * @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(&huart2, (uint8_t *)&ch, 1, 0xFFFF);
 +
 +  return ch;
 +}</code c+>
 +    
 +Vérifier qu'il n'y est pas d'erreur au niveau de **HAL_UART_Transmit(&huart2, (uint8_t *)&ch, 1, 0xFFFF);**\\
 +Si erreur il y a il faut récupérer la variable en haut du fichier nomé UART_HandleTypeDef **huart2**;\\
 +
 +Finir en ajoutant #include <stdio.h> dans le "main.c".
      
 4. Activer les options de compilation et linker:  4. Activer les options de compilation et linker: 
-    * Faire "Alt+Entrer" sur le nom du projet ou clic droit-> properties. +   * Faire "Alt+Entrer" sur le nom du projet ou clic droit-> properties. 
-    * Dans C/C++ Build -> Settings -> Tool settings -> Cross ARM C Linker -> Miscellaneous. Cocher les options suivantes :  +   * Dans C/C++ Build -> Settings -> Tool settings -> Cross ARM C Linker -> Miscellaneous. Cocher les options suivantes :  
-       * Use newlib-nano (--specs=nano.specs) +      * Use newlib-nano (--specs=nano.specs) 
-       * Use float with nano printf (-u_printf_float)+      * Use float with nano printf (-u_printf_float)
    * Dans C/C++ Build -> Settings -> Tool settings -> Cross ARM C Linker -> General.     * Dans C/C++ Build -> Settings -> Tool settings -> Cross ARM C Linker -> General. 
    * Ajouter le chemin vers le fichier "lib.ld"    * Ajouter le chemin vers le fichier "lib.ld"
 +
 +5. Test.
 +   * Placer un text dans le main.c
 +exemple : printf("salut \n");
 +      HAL_Delay(1000);
 +      Le retour chariot et important!!!
/home/resonancg/www/wiki/data/pages/logiciels/printf_stm32/accueil.txt · Dernière modification: 2017/08/29 11:25 de jonathan