Symbol

Symbol,第1张

…\OBJ\Template.axf: Error: L6200E: Symbol __stdout multiply defined (by stdio_streams.o and usart.o).

正点原子的标准库usart.c里面存在下面的内容:

解决办法 方法一、

1、点击魔术棒

2、勾选Use MicroLIB
注意:如果你的工程里含有C++文件此方法不适用

方法二、

把下面这一段:

#if 1
#pragma import(__use_no_semihosting)             
//标准库需要的支持函数                 
struct __FILE 
{ 
	int handle; 
}; 
FILE __stdout;       
//定义_sys_exit()以避免使用半主机模式    
void _sys_exit(int x) 
{ 
	x = x; 
} 
//重定义fputc函数 
int fputc(int ch, FILE *f)
{ 	
	while((USART1->SR&0X40)==0);//循环发送,直到发送完毕   
	USART1->DR = (u8) ch;      
	return ch;
}
#endif

改为:

#include "stdio.h"
int fputc(int ch, FILE *f)
{ 	
	while((USART1->SR&0X40)==0);//循环发送,直到发送完毕   
	USART1->DR = (u8) ch;      
	return ch;
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/728685.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-26
下一篇 2022-04-26

发表评论

登录后才能评论

评论列表(0条)

保存