littlebot
Published on 2025-04-19 / 1 Visits
0

【源码】基于Arduino的CH376 USB存储管理系统

项目简介

本项目提供了用于控制CH376 USB主机和文件管理控制芯片的库。该系统支持对USB闪存驱动器或SD卡进行读写文件操作(CH375仅支持USB闪存驱动器),能处理FAT12、FAT16和FAT32文件系统,让Arduino等微控制器无需处理复杂的FAT文件系统,仅需通过SPI、UART等通信总线向芯片发送指令即可。

项目的主要特性和功能

  1. 文件操作:支持文件的创建、删除、读取和写入,可处理8.3格式的短文件名。
  2. 目录操作:支持创建目录、删除目录和列出目录内容,能管理USB存储设备上的文件和目录。
  3. 多数据类型读写:支持多种数据类型的读写,包括整数、浮点数、字符串等。
  4. 状态检查:提供丰富的错误处理和状态检查功能,可获取设备通信状态、文件大小、文件系统类型等信息。
  5. 日期时间设置:可设置文件的创建日期和时间。
  6. 存储源切换:支持在USB闪存驱动器和SD卡之间切换存储源。

安装使用步骤

安装

假设用户已经下载了本项目的源码文件,将CH376 USB存储驱动库代码导入到自己的项目中。

配置

使用

  1. 初始化:根据通信方式(UART或SPI)选择合适的构造函数创建Ch376msc对象,并调用init()函数进行初始化。
  2. 连接存储设备:调用checkIntMessage()函数检测存储设备的连接状态,调用driveReady()函数检查设备是否准备好。
  3. 文件操作
    • 使用setFileName()函数设置文件名。
    • 调用openFile()函数打开文件。
    • 使用writeFile()writeNum()等函数写入数据,使用readFile()readLong()等函数读取数据。
    • 操作完成后,调用closeFile()函数关闭文件。
  4. 目录操作
    • 使用cd()函数切换目录。
    • 调用listDir()函数列出目录内容。
    • 使用deleteDir()函数删除目录。
  5. 状态检查:使用getError()函数获取错误码,进行错误处理。

注意事项

  • 在切换到SD卡存储源之前,需对PCB进行必要的修改,否则可能损坏CH376芯片。
  • 选择软串口时需注意其自身的限制。
  • 在进行文件操作时,注意文件路径和文件名的大小写敏感性,确保有足够的存储空间来保存数据。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】