因为工作开发需要,需要在MCU中添加一个文件系统,记录单片机数据,板子会提供个sd下载线,pc直接读取sd卡数据。保存为CSV文件,到时候电脑打开就是excel格式。
从网上找了个叫小当的XS128上移植FATFS文件系统,稍微修改下。
FATFS是开源的文件系统,说明做的还可以,官网可以下载源码:http://elm-chan.org/fsw/ff/00index_e.html。
下载下来主要是src和doc两个文件,src是源码,doc是文档说明,英语看起来应该不是太难。
首先是配置ffcong.h文件,按照自己需要读写配置
移植过程中,将小当的文件系统都转过去了,重新配置了个SPI通信部分,将原来的M口换成S口就行了。
之前用了个4G的SD卡,程序移植卡在f_open中,估计SD协议没对上,换了个2G的就好了。
现在可以进行文件读写了。
对文件进行追加写,用的是f_lseek,找到文件末尾进行追加
删除文件是f_unlink
CSV文件读写也挺简单的,用逗号分隔符隔开每一列就行了,试了下要用英文的“,”才行,中文的不行
每次操作完之后要进行f_close操作。做出来大概效果如下。