6行代码实现对TF卡的读写功能

195 阅读2分钟

文章目录

前言

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个数据内容完全一样。
在这里插入图片描述