|
本帖最后由 xxfx1118 于 2014-5-5 14:48 编辑
最近几天使用SD卡模块及Arduino自带的SD库,发现的问题
《Arduino程序设计基础》书中没有提到的部分,在此整理一下
1、SD库创建文件只能创建文件名长度为不超过8+3的文件。
可以小于这个数,但不能长过它。例如:
SD.open("test.txt", FILE_WRITE);
SD.open("test.a", FILE_WRITE);都可以,
但SD.open("123456789.txt", FILE_WRITE); 就创建失败。
读文件时同理。即便是卡上已经有了123456789.txt文件,用SD.open("123456789.txt")也打不开。
2、创建成的文件名只能是大写,无论你SD.open("test.txt", FILE_WRITE); 时用的是小写还是大小写混合。
3、创建文件夹时,也是不超过8位,自动变大写。
检测文件夹存在用SD.exists("TEST001/"), 就是比检测文件多用个斜杠;
向文件夹里建文件就用SD.open("TEST001/DATA001.txt", FILE_WRITE)。
4、SD.exists,SD.open(写文件) 两个命令在中途拔掉SD卡之后,依然提示成功。
我没找到让这两个命令失败的方法,只要在SD.begin()之后拔掉SD卡,程序会一直进行,检测、写文件都会提示成功,即便SD卡已经拔掉。
不知道大家是不是也遇到这样的情况。
5、再就是有一点不懂:如果要创建的文件名在变量里,则应怎样创建文件的方法。请教各位一下
举个例子 假如我接了硬件时钟1307,然后我想用今天的日期作为文件名,但是日期存在 tm.Day, tm.Month 变量里面,怎么把变量作为文件名呢?
SD.open(tm.Day , FILE_WRITE); 编译不通过。
有什么办法可以实现呢? 请教各位,谢谢
|
|