FILE-I / O отсутствует в "stdio.h" в IAR EWB 7.50.2 - PullRequest
0 голосов
/ 16 марта 2020

Я работал над проектом (на контроллере STM32f103CBT6), который ранее был встроен в идентификатор KEIL Uv5. Теперь мы переносим наш проект на IAR ID, но "stdio.h" и другие стандартные библиотеки сильно отличаются от KEIL. В "stdio.h" в IAR ID нет функций, связанных с файловым вводом-выводом. Я пытался заменить стандартные файлы IAR файлами KEIL, но, к сожалению, у меня больше 1 000 ошибок, так что, может кто-нибудь помочь мне решить эту проблему? какой процедуре мне нужно следовать? Я хочу использовать функцию printf .

Я использую STM32F103CBT6 , IAR Embedded Workbench для ARM 7.50.2.10505 .

//CODE WRITTEN IN KEIL. 
/* ----------------------------------------------------------------------------
*                           MACROS
* ----------------------------------------------------------------------------
*/

    #ifdef __GNUC__
           #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
    #else
           #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
    #endif /* __GNUC__ */


/*****************************************************************************
**@Function         :   PUTCHAR_PROTOTYPE
**@Descriptions     :   printf prototype
**@parameters       :   None
**@return           :   None
*****************************************************************************/ 
PUTCHAR_PROTOTYPE
 {
  /* Place your implementation of fputc here */
  /* e.g. write a character to the USART */
   USART_SendData(_DEBUGG_COM, (uint8_t) ch);

  /* Loop until transmit data register is empty */
  while (USART_GetFlagStatus(_DEBUGG_COM, USART_FLAG_TC) == RESET)
         { }
  return ch;
  }
...