新手上路
- 积分
- 20
- 金钱
- 20
- 注册时间
- 2018-3-28
- 在线时间
- 1 小时
|
1金钱
MDK5的版本为:V5.25.0.0 固件库函数版本为:STM32F10x_StdPeriph_Lib_V3.5.0
在工程里面添加了正点原子SYSTEM文件夹及其源文件,使用的是正点原子战舰版(战舰V3 )里面实验0-1里面的system文件夹。
我的芯片是:STM32F103C8T6
所有文件添加之后,编译时usart.c和sys.c编译报错。报错内容为:
compiling usart.c... ..\SYSTEM\usart\usart.c(48): error: #260-D: explicit type is missing ("int" assumed)_sys_exit(int x)
..\SYSTEM\usart\usart.c: 0 warnings, 1 error
compiling sys.c...
"..\OBJ\LibraryTemplate.axf" - 1 Error(s), 0 Warning(s).
Target not created.
报错的源文件代码为:
usart.c:
[mw_shl_code=c,true]_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
[/mw_shl_code] sys.c:
[mw_shl_code=c,true]//addr:栈顶地址
__asm void MSR_MSP(u32 addr)
{
MSR MSP, r0 //set Main Stack value
BX r14
}
[/mw_shl_code] 求助大神,这个怎么解决。
|
最佳答案
查看完整内容[请看2#楼]
简单,写成 void _sys_exit(int x) 。因为_sys_exit,你没有定义返回类型,所以编译报错。你不用返回值,就直接加void 就可以编译通过。
|