你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

Fatfs文件系统问题,文件系统函数f_open能打开文件,stdio库...

[复制链接]
zhang5055258 提问时间:2017-8-17 21:13 /
悬赏1ST金币已解决
如题:Fatfs文件系统问题,文件系统函数f_open能打开文件,stdio库的fopen函数不能打开
移植了一个Fatfs文件系统,里面的文件使用fatfs文件系统的读写函数f_open能打开文件,但使用C语言的stdio库里面的fopen函数不能打开文件,并且errno也为0,求解惑啊 屏幕快照 2017-08-17 下午8.44.30.png

最佳答案

查看完整内容

fatfs不支持c-lib里面的文件系统API。
收藏 评论8 发布时间:2017-8-17 21:13

举报

8个回答
moyanming2013 回答时间:2017-8-17 21:14:00
fatfs不支持c-lib里面的文件系统API。
@乔木 回答时间:2017-8-18 13:15:34
要是C标准库里的文件系统API能直接用在MCU上,你还费啥劲去移植文件系统啊
zhang5055258 回答时间:2017-8-18 16:23:49
moyanming2013 发表于 2017-8-18 11:28
fatfs不支持c-lib里面的文件系统API。

C的库的API能不能定义让他兼容啊
zhang5055258 回答时间:2017-8-18 17:47:16
@乔木 发表于 2017-8-18 13:15
要是C标准库里的文件系统API能直接用在MCU上,你还费啥劲去移植文件系统啊 ...

现在的问题是文件系统能打开,C库函数打不开,库函数需要对定义硬件操作接口吗
@乔木 回答时间:2017-8-21 22:33:27
zhang5055258 发表于 2017-8-18 17:47
现在的问题是文件系统能打开,C库函数打不开,库函数需要对定义硬件操作接口吗 ...

你在电脑上用printf的时候只需要加一个stdio.h的头文件,你在单片机上如果还要用printf,你只加一个stdio.h的头文件能有用吗?一样的,你要用C函数库里的API,你不改里面代码,能有用吗??而且,你的C库面向的是个人电脑,它的文件系统很可能是适应个人电脑的文件系统,你用在单片机上,能有用吗??

评分

参与人数 1ST金币 +3 收起 理由
zero99 + 3

查看全部评分

小小超 回答时间:2017-8-22 08:56:49
要对应硬件匹配的。返回值没错,并不代表是正确打开了。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

zhang5055258 回答时间:2017-8-22 11:01:43
@乔木 发表于 2017-8-21 22:33
你在电脑上用printf的时候只需要加一个stdio.h的头文件,你在单片机上如果还要用printf,你只加一个stdio ...

printf可以使用重定向,将传递进来的参数引导自己想要的地方就行,比如串口,fopen还会反悔一个FILE机构体,就不知道怎么去重定向了
@乔木 回答时间:2017-8-22 11:10:15
zhang5055258 发表于 2017-8-22 11:01
printf可以使用重定向,将传递进来的参数引导自己想要的地方就行,比如串口,fopen还会反悔一个FILE机构 ...

哥我帮不了了

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版