ESP32-SDCard使用笔记
例程参考 examples/storage/SD_CARD
修改sdkconfig中的栈空间为10240
CONFIG_MAIN_TASK_STACK_SIZE=10240
1、4-line
这里屏蔽Line55的slot_config.width,采用4-line
// To use 1-line SD mode, uncomment the following line:
// slot_config.width = 1;
ESP_LOGI(TAG, "Start Writing");
char buf[4096];
memset(buf, 'a', sizeof(buf));
for(uint16_t i=0; i < 256; i++) {
fwrite(buf, sizeof(char), sizeof(buf), f);
}
fclose(f);
ESP_LOGI(TAG, "Finish Writing");
I (961) example: Opening file
I (971) example: Start Writing
I (1401) example: Finish Writing
I (1411) example: Renaming file
I (1411) example: Reading file
I (1411) example: Start Read
I (2301) example: Finish Read
I (2301) example: Card unmounted
可以看到,写入文件1MB时间需要1401-971=430ms,大概速度为2.32MB/s
2、1-line
这里开启Line55的slot_config.width,切换为1-line
// To use 1-line SD mode, uncomment the following line:
slot_config.width = 1;
I (831) example: Opening file
I (841) example: Start Writing
I (1511) example: Finish Writing
I (1521) example: Renaming file
I (1531) example: Reading file
I (1531) example: Start Read
I (2721) example: Finish Read
I (2721) example: Card unmounted
可以看到,写入文件1MB时间需要1511-841=670ms,大概速度为1.49MB/s
3、SPI
如需测试SPI速率,使能Line26的宏定义USE_SPI_MODE
由于SPI速率要比SDIO慢,这里就不做测试了
// #define USE_SPI_MODE
本文记录了ESP32使用SDCard的笔记,包括4-line和1-line模式下的性能测试,以及如何修改sdkconfig配置栈空间。在4-line模式下,写入1MB文件速度约为2.32MB/s;而在1-line模式下,速度约为1.49MB/s。
1796

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



