STM32 HAL库 利用CH376进行USB文件读写

        STM32 其实可以进行读取USB文件,但仅限于F4以上芯片才可以进行SUB文件读写,但在项目开发中,往往用不到此芯片,那么只能通过外挂的USB芯片进行USB文件读写,本文则是采用STM32F103的SPI与CH376进行通信,通过CH376操作指令进行操作。

1、CH376介绍

       CH376芯片 是沁恒的一款文件管理控制芯片,用于单片机系统读写 U 盘或者 SD 卡中的文件。同时可以使用 CH376 操作 USB 键盘鼠标,以及打印机等各种 USB 设备。

CH376 支持三种通讯接口:8 位并口、SPI 接口或者异步串口

1.1 芯片特点

●支持 1.5Mbps 低速和 12Mbps 全速 USB 通讯,兼容 USB V2.0。

● 支持 USB-HOST 主机接口和 USB-DEVICE 设备接口,支持动态切换主机方式与设备方式。

● 支持 USB 设备的控制传输、批量传输、中断传输。

● 自动检测 USB 设备的连接和断开,提供设备连接和断开的事件通知。

● 提供 6MHz 的 SPI 主机接口,支持 SD 卡以及与其协议兼容的 MMC 卡和 TF 卡等。

● 内置 USB 控制传输的协议处理器,简化常用的控制传输。

● 内置固件处理海量存储设备的专用通讯协议,支持 Bulk-Only 传输协议和 SCSI、UFI、RBC 或 等效命令集的 USB 存储设备(包括 U 盘/USB 硬盘/USB 闪存盘/USB 读卡器)。

● 内置 FAT16 和 FAT32 以及 FAT12 文件系统的管理固件,支持容量高达 32GB 的 U 盘和 SD 卡。

● 提供文件管理功能:打开、新建或删除文件、枚举和搜索文件、创建子目录、支持长文件名。

● 提供文件读写功能:以字节为最小单位或者以扇区为单位对多级子目录下的文件进行读写。

● 提供磁盘管理功能:初始化磁盘、查询物理容量、查询剩余空间、物理扇区读写。

● 提供 2MB 速度的 8 位被动并行接口,支持连接到单片机的并行数据总线。

● 提供 2MB/24MHz 速度的 SPI 设备接口,支持连接到单片机的 SPI 串行总线。

● 提供最高 3Mbps 速度的异步串口,支持连接到单片机的串行口,支持通讯波特率动态调整。

● 支持 5V 电源电压和 3.3V 电源电压以及 3V 电源电压,支持低功耗模式。

● USB 设备方式完全兼容 CH372 芯片;USB 主机方式基本兼容 CH375 芯片。

● 提供 SOP-28 和 SSOP20 无铅封装,兼容 RoHS,提供 SOP28 到 DIP28 的转换板,SOP28 封装的 引脚基本兼容 CH375 芯片。

而且CH376的文件操作与linux的文件操作相识,故在学习上可以参考。

1.2 CH376 指令

这些操作指令在后期使用过程中,将大大帮助我们进行操作。

2、STM32CUBEX配置

上述讲述了CH376的一些基本介绍,那么如何将官方给的例程文件运用到自己的工程上呢?

本次使用的单片机是STM32F103RCT6,配合使用的是STMCUBEMX进行快速开发

1、打开CubeMX

2、选择芯片

3、配置基础模式    SWD下载    晶振时钟

4、SPI通信模式设置

在进行配置时讲解一下:

在上图需要选择<

  • 27
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: stm32 hal库是一款底层硬件抽象层(Hardware Abstraction Layer)的库,它为stm32系列微控制器提供了一系列的API,使用户可以更方便地使用这些微控制器,同时也提高了编码效率和可维护性。 stm32 hal库的说明文件包含了库的详细说明,其中包括:库的特性、支持的芯片型号、使用方法、API的说明等内容。对于使用stm32 hal库的开发人员而言,阅读和理解这些说明文件非常重要,能够快速掌握库的使用方法和细节,加快开发进度和减少出错的概率。 在说明文件中,除了包含API的详细说明外,还会提供应用示例和代码片段,给开发人员提供使用库的参考。此外,说明文件中还会提供错误代码和解决方案,方便开发人员尽早发现错误并加以解决,避免耽误开发进度。 总之,stm32 hal库的说明文件是使用该库的开发人员必要的参考资料,能够帮助他们更好地进行开发。通过充分利用这些资料,用户可以更快地掌握库的使用方法,提高代码效率和质量,同时也能够更好地解决问题,减少开发时间和成本。 ### 回答2: STM32 HAL库是意法半导体公司提供的一种针对STM32微控制器系列的软件库,用于简化STM32开发者的工作。它提供了对STM32芯片的底层硬件操作,包括时钟、GPIO、中断、DMA、ADC、定时器等。HAL库还提供了一些高级应用程序接口,例如USB、CAN、SD卡、LCD等,以便开发者更轻松地实现其应用。 HAL库的文件结构与用法简单明了。头文件位于Inc文件夹中,它们定义了宏、结构体和函数原型。源文件位于Src文件夹中,包含HAL库的具体实现。主函数文件通常是main.c,它包含了调试输出、时钟设置和其他相关初始化代码。开发者需要根据应用程序的需求选择合适的HAL库,并在代码中包含所需的头文件。 HAL库提供了丰富的API,易于使用,可以直接调用,或组成自己的高级函数。HAL库提供了一些示例程序,可以帮助开发者更好地理解和使用HAL库。此外,STM32CubeMX工具还提供了可视化配置HAL库的功能,开发者可以通过此工具轻松配置其应用程序。 总之,STM32 HAL库是一种为STM32微控制器系列提供的实用工具库,可大幅简化开发过程,提供丰富的 API 和易于使用的示例程序。开发者可以根据自己的实际需求,选择合适的 HAL 库,进行快速开发和测试。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

啵啵520520

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值