目录
(1)使用的是File.write()来写入数据,理论上会比File.print()要更快
(2)使用数据块来传输数据,也就是一次性写入尽可能多字节数的buffer
(3)尽可能提高SPI的始终频率,我的时钟频率达到了80MHz
(4)实际项目中我会使用多线程,把传感器的数据读取和SD卡的数据写入分开
一、前言
SD卡几乎出现在每一个需要用到电子产品的场合。可移动存储设备TF卡、SD卡、U盘、移动硬盘这些都是我们所熟知的设备,而本文的初衷是记录一下对于SD card写入速度的测试过程,由于在工作项目中遇到对数据存储速率要求高的情况,所以本文重点会集中于如何提高SD card的写入速度,希望对大家有所帮助。
二、开发环境
硬件:ESP32S3 + SD card模块
硬件连接:
| ESP32S3 | SD |
| 5V | VCC |
| GND | GND |
| PIN10 | CS |
| PIN11 | MOSI |
| PIN12 | SCLK |
| PIN13 | MISO |
软件:Arduino IDE
开发库:arduino-libraries/SD: SD Library for Arduino (github.com)
三、实验原理与测试代码
由于我买的测试模块是SPI连接方式的,所以还未对SD_MMC模式进行过读写速度测试。我的重点在于测试SD的写入速度,用于记录传感器的数据,参考了一些资料,大概SPI的最快读写速度会比SD_MMC模式慢50%。
测试代码设计与改动:

最低0.47元/天 解锁文章
1812

被折叠的 条评论
为什么被折叠?



