Я работал над проектом (на контроллере 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;
}