用FlexLua低代码单片机快速实现TF卡的读写增删功能

94 篇文章 0 订阅
30 篇文章 0 订阅

TF 卡读/写/删除

基于 FlexLua 低代码单片机技术,脱离复杂单片机C语言开发正逐渐成为一种快速高效的 IoT 硬件开发方式。即使新手不懂单片机开发也可很快很容易用FlexLua零门槛开发各种 IoT 硬件,更多教程请参考 FlexLua 官网。

注意:仅 ShineBlink C1 开发板 带 SDIO TF 卡接口,C2不适合本教程(C2 仅能通过内部 Flash 模拟出一个 1.6M 的极小 U 盘)。

253826efff78e67266a0ded611ea0d52.jpeg

一、实现功能

将开发板插上一张 8GB 的 TF 卡后,通过 USB 线将开发板和电脑连接起来:

  • 功能1,写操作:每隔0.2秒向TF卡上的test.txt文件中写入10个数据(0-9)
  • 功能2,读操作:上面的写操作循环执行20次(4秒)过后,再读取test.txt中的内容并通过print打印出来。
  • 功能3,删除操作:上面读操作完毕后,删除test.txt文件,最后主程序结束。

0d94bb965aca6fac2f8af5a465ca7dec.jpeg

二、材料清单

  • TF 卡,容量(32GB 以内),最好是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 个数据内容完全一样。

d0762bca8936ef7d0ce7af45a43bdf2b.jpeg

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值