文章目录
前言
shineblink core 开发板(简称Core)的库函数支持TF卡读写功能,所以只需要调用两三个API,即可实现TF卡的操作。
PS:Core 仅用五、六行代码即可实现Wifi/Ble/NB/Lora/ThreadMesh/RFID/Eth/Usb/RS485/RS232通信、以及30多种传感器/10多种硬件外设/10多种Mcu内设功能,并且这些功能最多可以 5 种随机组合同时运行。更多关于Core的内容可以在 shineblink.com 上了解。
一、实现功能
- 功能1,写操作:每隔0.2秒向TF卡上的test.txt文件中写入10个数据(0-9)
- 功能2,读操作:上面的写操作循环执行20次(4秒)过后,再读取test.txt中的内容并通过print打印出来。
- 功能3,删除操作:上面读操作完毕后,删除test.txt文件,最后主程序结束。
二、材料清单
| 名称 | 推荐 |
|---|---|
| TF卡 | 容量不限,最好是class 6以上的TF卡 |
三、完整代码
do
cnt = 0
data = {0,1,2,3,4,5,6,7,8,9}
--写操作: 连续20次每隔200毫秒,每次向test.txt写10个数据
--如果test.txt不存在,会自动创建。如果存在就接着原来文件的最后面开始写入
for i = 1, 20 do
LIB_DelayMs(200)
cnt = cnt + 1
LIB_Fwrite("test.txt", data)
end
--读操作:从刚才的test.txt文件的起始地址0处开始读取最多256字节的内容,如果不足256返回实际数目
--read_number:整数型 表示读取的数目,read_content:table类型 存放读出的内容
read_number, read_tab = LIB_Fread("test.txt",0)
if read_number > 0 then
--concat是Lua table类的自带函数,用来合并所有元素
print(table.concat(read_tab))
end
--删除操作:最后删除test.txt文件
LIB_Fdelete("test.txt")
--停止Lua线程
while(true) do
end
end
如果感兴趣,上面代码中出现的LIB开头的库函数可以在API文档中通过Ctrl+F查询。
四、代码运行结果
最后我们在TF卡的LOG.TXT日志文件里可以看到我们刚才print输出read test.txt里的内容,和第一步写入的200个数据内容完全一样。