第一章 K210 关于SD卡的学习教程(Maix bit)

目录

一、SD卡在Maix bit中的作用

二、怎么向SD卡写入文本或读取文本

三、 详细操作及代码


一、SD卡在Maix bit中的作用

Maix Bit 是一款基于 K210 芯片的 AIoT 开发板,它具有丰富的外设接口和强大的计算能力。SD卡在 Maix Bit 上的作用主要包括:

1.扩展存储空间:Maix Bit 板载的 Flash 存储有限,SD 卡可以提供额外的存储空间,用于存放大型文件,如模型文件、图像数据等。


2.文件系统:SD 卡可以被格式化为 FAT 文件系统,这样 Maix Bit 就可以直接读取和写入文件,方便数据的交换和存储。


3断电存储:对于需要长期保存的数据,如训练好的模型、配置文件等,可以存储在 SD 卡中,即使断电数据也不会丢失。


4.运行脚本:可以将 Python 脚本或模型文件存储在 SD 卡中,然后在 Maix Bit 上直接运行这些脚本,进行数据处理和机器学习任务。


5.自动运行:可以将开机自启动脚本放置在 SD 卡中,这样每次上电时,Maix Bit 可以自动执行 SD 卡中的脚本,实现自动化操作。


6.数据交换:SD 卡可以方便地从 Maix Bit 转移到其他设备(如电脑),用于数据交换或备份。


7.文件系统挂载:Maix Bit 支持将 SD 卡挂载为文件系统,这样开发者可以使用标准的文件操作 API 来操作 SD 卡中的文件。


8.多媒体资源扩展:对于需要处理音频、视频等多媒体内容的应用,SD 卡可以提供必要的存储空间。

注意:

使用 SD 卡时,需要注意以下几点:
确保 SD 卡已经正确格式化为 FAT 文件系统。
确保 Maix Bit 的 SD 卡槽已经正确插入 SD 卡。
在代码中正确指定 SD 卡的文件路径和操作模式。
避免在 SD 卡读写过程中断电,以免造成数据损坏。

SD插入卡槽但​​​​​​读取不到的解决方法

二、怎么向SD卡写入文本或读取文本

  读操作

import uos    #文件操作需要导入uos这个包
#读操作
with open("/sd/Test.txt", "r") as f:
    while(1):
        line = f.readline()
        if not line:
          break
        print(line)

写操作

#写操作
with open("/sd/Test.txt", "a") as f:
    f.write("I Love China\n")

下面是代码关键字的详细解释:
1.with 关键字:它用于创建一个上下文环境,这可以确保代码块执行完毕后,文件会被正确地关闭,即使在读取文件时发生了异常。
2.open() 函数:这是 Python 的内置函数,用于打开一个文件。
3."/sd/Test.txt":这是文件的路径和名称。在这个例子中,文件位于根目录下的 sd 子目录中。
"r":这是文件打开模式的参数,表示“读取模式”。如果文件不存在,尝试以读取模式打开文件将导致 FileNotFoundError。
4.as f:这表示将打开的文件对象赋值给变量 f。在 with 代码块内部,可以使用变量 f 来访问文件内容。
5.reline:读取单行:每次调用 readline() 时,它只读取文件中的一行
返回值是一个字符串。如果到达文件末尾,没有更多的行可读,它将返回一个空字符串。
readline() 是一种内存效率高的读取方式,因为它一次只读取文件的一行。
用途:非常适合逐行处理文件,例如读取日志文件或文本数据。

关于文件打开关键字的类型

读取文本除了 readline() 之外,还有以下几种常用的方法

read(size)

  • 读取指定数量的字符。如果未指定 size,则读取整个文件。
  • 返回值是读取的字符串,如果到达文件末尾,则返回空字符串。
    with open('example.txt', 'r') as f:
        content = f.read(10)  # 读取前10个字符
        print(content)

readlines()

  • 读取整个文件并返回一个列表,其中每个元素代表文件的一行。
  • 通常用于较小的文件,因为它会将整个文件内容加载到内存中。with open('example.txt', 'r') as f: lines = f.readlines() for line in lines: print(line.strip())
with open('example.txt', 'r') as f:
    lines = f.readlines()
    for line in lines:
        print(line.strip())

迭代文件对象

  • 直接迭代文件对象,每次迭代返回文件的一行
with open('example.txt', 'r') as f:
    for line in f:
        print(line.strip())

三、 详细操作及代码

1.首先通过读卡器在SD卡创建文本文件

2.随便在文本文件写入东西

3.拔出SD卡,插入Maix bit卡槽

4.打开MaixPy IDE

5.写入代码

import uos    #文件操作需要导入uos这个包
#读操作
with open("/sd/Test.txt", "r") as f:
    while(1):
        line = f.readline()
        if not line:
          break
        print(line)

代码功能:

读取SD卡的Test文本文件,f.reline()表示读取文本里面的一行,然后通过print打印在串口终端上面

如果文本没数据,则跳出

/sd表示文件路径,如果继续在sd卡里面建文件,可以写成这样

/sd/xx/Test.txt

 xx表示文件名

然后就点击编译运行代码

下面是运行结果

6.继续加入写入操作的代码

import uos    #文件操作需要导入uos这个包
#读操作
with open("/sd/Test.txt", "r") as f:
    while(1):
        line = f.readline()
        if not line:
          break
        print(line)
#写操作
with open("/sd/Test.txt", "a") as f:
    f.write("Hello World!\n")

编译运行

然后可以拔出你的sd卡查看一下Test文本文件

说明写入成功

以上就是我刚入手K210 学习的SD卡的学习笔记

后续还会更新怎么保存图片数据到SD卡,断电存储,人脸识别,模型训练等

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值