OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4012|回复: 3

关于FATFS的疑问

[复制链接]

3

主题

7

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2014-11-26
在线时间
0 小时
发表于 2014-11-26 21:16:33 | 显示全部楼层 |阅读模式
5金钱
在学习战舰开发板的时候,我想使用mf_write("123456\n",0x0A)这个函数,向TXT文件里面写入换行符,但发现写出来的根本没有换行,原本有的“\”也没有了。使用mf_write("123456\\n",0x0A)也不行,只是可以出现“\”。
我想问一下,FATFS这个文件管理系统,能不能向文本文件里面写入换行符,或者其他的非打印字符(“\n”、“\b”等)呢?
如果不能的话,有没有别的办法可以呢?
谢谢。

最佳答案

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-11-26 21:16:34 | 显示全部楼层
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

3

主题

7

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2014-11-26
在线时间
0 小时
 楼主| 发表于 2014-11-27 10:42:49 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
原子哥,我是在用你的USMART调试程序进行的调试,我看了FatFs的官方帮助文档,也改写了usmart_config.c 文件(改写为可以直接调用f_open、f_printf):

(void*)f_printf,"int f_printf (FIL* fil,const TCHAR* str, ...)",
(void*)f_open,"FRESULT f_open (FIL *fp,const TCHAR *path,BYTE mode)",

应该调用到函数了,因为串口调试助手有反应,但是总是不成功。

我想打开根目录下的“1.txt”文件:file = f_open(fp,"0:\\1.txt",0x02);
然后写入"123abc456\n":f_printf(file, "123%s456\n","abc");(我看到这个函数的源文件的入口参数里有一个指针fr,不知道这里的“file”是不是应该是“fp”)

这两个函数,用USMART调试程序进行调试时,串口调试助手返回的都是“参数错误”,不知道是哪里出的问题。
请原子哥指教,谢谢!
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-11-27 14:52:59 | 显示全部楼层
回复【3楼】网侠:
---------------------------------
你想的太简单了。
我们USMART不支持可变参数,所以printf不行了。
另外,当出现指针,需要分配内存的时候,也是不可以的,你的fp指针,明显要事先申请内存才行。

这就是为什么我们会有fatfstester.c的缘故了,按照你这个想法,我何必多此一举?直接放usmart_config完事了。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-28 17:53

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表