ARM7,keil MDK编译,为什么执行下面这个函数不能写入到SD卡,而是显示在屏幕上了。
staticvoidcapture(void){FILE*f;f=fopen("123.txt","a");fputs(sd_line,f);//charsd_line[...
static void capture (void) {
FILE *f;
f = fopen ("123.txt","a" );
fputs(sd_line,f);//char sd_line[]="sss";
fclose (f);
printf("write over!\n");//printf的内容是打印在屏幕上的
}
我只有这么多财富用以悬赏,希望懂的人不吝赐教!!!谢谢 展开
FILE *f;
f = fopen ("123.txt","a" );
fputs(sd_line,f);//char sd_line[]="sss";
fclose (f);
printf("write over!\n");//printf的内容是打印在屏幕上的
}
我只有这么多财富用以悬赏,希望懂的人不吝赐教!!!谢谢 展开
3个回答
展开全部
printf输出到其他什么地方,是要设置的!
你没有设置,所以就显示到屏幕上了
FILE *f;
f = fopen ("123.txt","a" );
fputs(sd_line,f);//char sd_line[]="sss";
fclose (f);
是写文件的操作函数,在有操作系统的情况下可以,
但是如果你ARM7没有操作系统直接这样使用函数是没有用的,
SD卡应该是使用SPI接口的吧
我也只是一知半解!
你没有设置,所以就显示到屏幕上了
FILE *f;
f = fopen ("123.txt","a" );
fputs(sd_line,f);//char sd_line[]="sss";
fclose (f);
是写文件的操作函数,在有操作系统的情况下可以,
但是如果你ARM7没有操作系统直接这样使用函数是没有用的,
SD卡应该是使用SPI接口的吧
我也只是一知半解!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
浙江启扬智能科技有限公司
2019-05-20 广告
2019-05-20 广告
首先考虑一下你要使用什么操作系统,Linux、WinCE还是Android系统,不过个人建议不要用WinCE操作系统,目前支持的处理器平台偏低端,而且需要版权费用,稳定性也比较差。其次呢,你要考虑一下使用哪种处理器芯片,目前市场主要的芯片就...
点击进入详情页
本回答由浙江启扬智能科技有限公司提供
2011-10-27
展开全部
首先,我不知道答案。但是乐意为你分析一下:
1确认硬件没有错误。
2对于printf()函数,他属于C的库函数,具体说是I/O库的库函数。C标准中规定,printf()函数是可以根据I/O情况,由编译器规定到底负责实现什么功能的。因为c语言的作者(设计C语法规则的人)根本就不知道,你将使用什么样的I/O设备。所以才把这个定义留给了编译器来实现。keil mdk 的编译器将printf()解释执行为串口2。这便是你的程序在屏幕上输出的原因。
3解决方法,重新定义printf()函数,或者定义针对SD卡读写的函数来实现你的功能。
1确认硬件没有错误。
2对于printf()函数,他属于C的库函数,具体说是I/O库的库函数。C标准中规定,printf()函数是可以根据I/O情况,由编译器规定到底负责实现什么功能的。因为c语言的作者(设计C语法规则的人)根本就不知道,你将使用什么样的I/O设备。所以才把这个定义留给了编译器来实现。keil mdk 的编译器将printf()解释执行为串口2。这便是你的程序在屏幕上输出的原因。
3解决方法,重新定义printf()函数,或者定义针对SD卡读写的函数来实现你的功能。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是说fputs不写入文件是吧?
你把里面的参数换个位置试试!
你把里面的参数换个位置试试!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询