Atomic TFCard Base

这是 Atomic TFCard Base 的驱动程序库,用于挂载TF卡。

支持以下产品:

Atom TFCard

Atomic TFCard Base

UIFLOW2 应用示例:

TFCard 挂载

在UiFlow2 中打开 atoms3r_tfcard_example.m5f2 项目。

本示例演示如何使用 Atomic TFCard Base 读取/创建目录。

UiFlow2 代码块:

example.png

示例输出:

/sd 目录下的文件。

MicroPython 应用示例:

TFCard 挂载

本示例演示如何使用 Atomic TFCard Base 读取/创建目录。

MicroPython 代码块:

 1# SPDX-FileCopyrightText: 2025 M5Stack Technology CO LTD
 2#
 3# SPDX-License-Identifier: MIT
 4
 5import os, sys, io
 6import M5
 7from M5 import *
 8from base import AtomicTFCardBase
 9import time
10
11
12title0 = None
13base_tfcard = None
14
15
16def setup():
17    global title0, base_tfcard
18
19    M5.begin()
20    title0 = Widgets.Title("TFCard e.g.", 3, 0xFFFFFF, 0x0000FF, Widgets.FONTS.DejaVu18)
21
22    base_tfcard = AtomicTFCardBase(slot=3, width=1, sck=7, miso=8, mosi=6, freq=1000000)
23    os.chdir("/sd")
24    print((str("Current dir:") + str((os.getcwd()))))
25    print((str("list /sd/dir: ") + str((os.listdir("/sd/")))))
26    if not ("sdcard_test" in os.listdir("/sd/")):  # noqa: E713
27        print("Try create 'sdcard_test' directory in /sd/")
28        os.mkdir("/sd/sdcard_test")
29    print((str("'sdcard_test' is directory?:") + str((os.stat("/sd/sdcard_test")[0] == 0x4000))))
30    print((str("'sdcard_test' is file?:") + str((os.stat("/sd/sdcard_test")[0] == 0x8000))))
31    print("Delay 1s to delete 'sdcard_test' directory")
32    time.sleep(1)
33    os.rmdir("/sd/sdcard_test")
34    if not ("sdcard_test" in os.listdir("/sd/")):  # noqa: E713
35        print("Directory 'sdcard_test' deleted successfully")
36
37
38def loop():
39    global title0, base_tfcard
40    M5.update()
41
42
43if __name__ == "__main__":
44    try:
45        setup()
46        while True:
47            loop()
48    except (Exception, KeyboardInterrupt) as e:
49        try:
50            from utility import print_error_msg
51
52            print_error_msg(e)
53        except ImportError:
54            print("please update to latest firmware")

示例输出:

/sd 目录下的文件。

API参考

function AtomicTFCardBase

AtomicTFCardBase(slot=1, width=1, cd=None, wp=None, sck=None, miso=None, mosi=None, cs=None, freq=20000000)

该函数仅用于初始化并挂载 SD 卡到 /sd 目录下,同时在挂载前尝试卸载已有的 SD 卡。其他文件操作(如读写文件、创建目录等)需要通过 os 模块来实现。

参数:
  • slot (int) – 使用哪个可用接口。默认值为 1。

  • width (int) – SD/MMC 接口的总线宽度。默认值为 1。

  • cd (int) – 要使用的卡检测引脚。默认值为 None。

  • wp (int) – 要使用的写保护引脚。默认值为 None。

  • sck (int) – 要使用的 SPI 时钟引脚。默认值为 None。

  • miso (int) – 要使用的 SPI miso 引脚。默认值为 None。

  • mosi (int) – 要使用的 SPI mosi 引脚。默认值为 None。

  • cs (int) – 要使用的 SPI 芯片选择引脚。默认值为 None。

  • freq (int) – SD/MMC 接口频率(单位:Hz)。默认值为 20000000。

返回:

None

UiFlow2 代码块:

init.png

MicroPython 代码块:

from base import AtomicTFCardBase
base_tfcard = AtomicTFCardBase(slot=3, width=1, sck=7, miso=8, mosi=6, freq=20000000)

详情请参见 os – 基本操作系统服务。