[STM8] STM8 使用printf报错

[复制链接]
1651|2
 楼主| kelly1989 发表于 2017-9-6 20:43 | 显示全部楼层 |阅读模式
使用STVD编译器,重定义printf函数后,使用的时候报错
下面是程序
#define __GNUC__

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

PUTCHAR_PROTOTYPE  
{  
  /* Write a character to the USART */  
//  USART_SendData8(EVAL_COM1, c);  
  /* Loop until the end of transmission */  
//  while (USART_GetFlagStatus(EVAL_COM1, USART_FLAG_TC) == RESET);  
  UART1->DR=(ch);
  /* Loop until the end of transmission */
   while (!(UART1->SR & UART1_FLAG_TXE));

  return (ch);  
}
下面是报错内容

#error clnk Debug\spwm1.lkf:1 symbol _memchr not defined ((C:\Program Files (x86)\COSMIC\CXSTM8_32K\Lib\libfs0.sm8)dtog.o )
#error clnk Debug\spwm1.lkf:1 symbol _strlen not defined ((C:\Program Files (x86)\COSMIC\CXSTM8_32K\Lib\libfs0.sm8)cprint.o )
#error clnk Debug\spwm1.lkf:1 symbol _toupper not defined ((C:\Program Files (x86)\COSMIC\CXSTM8_32K\Lib\libfs0.sm8)cprint.o )
#error clnk Debug\spwm1.lkf:1 symbol _putchar not defined ((C:\Program Files (x86)\COSMIC\CXSTM8_32K\Lib\libfs0.sm8)cprint.o )
#error clnk Debug\spwm1.lkf:1 symbol __udiv not defined ((C:\Program Files (x86)\COSMIC\CXSTM8_32K\Lib\libfs0.sm8)dtoe.o (C:\Program Files (x86)\COSMIC\CXSTM8_32K\Lib\libfs0.sm8)cnorm.o )
#error clnk Debug\spwm1.lkf:1 symbol __itob not defined ((C:\Program Files (x86)\COSMIC\CXSTM8_32K\Lib\libfs0.sm8)cprint.o )
#error clnk Debug\spwm1.lkf:1 symbol __ltob not defined ((C:\Program Files (x86)\COSMIC\CXSTM8_32K\Lib\libfs0.sm8)cprint.o )
The command: "clnk -l"C:\Program Files (x86)\COSMIC\CXSTM8_32K\Lib" -l"C:\Program Files (x86)\COSMIC\CXSTM8_32K\Lib"  -o Debug\spwm1.sm8 -mDebug\spwm1.map Debug\spwm1.lkf " has failed, the returned value is: 1
exit code=1.
求大神帮助


 楼主| kelly1989 发表于 2017-9-8 08:37 | 显示全部楼层
虽然没有人回复,但是我还是解决了问题,还是很高兴的,原来是库设置的问题,改一下就好了
xixi2017 发表于 2021-11-12 11:46 | 显示全部楼层
是不是会的人不多啊。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

50

主题

1115

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部