ESP32测试使用128G TF卡

ESP32、ESP8266
ESP32-S2、ESP32-S3、ESP32-C3
回复
头像
shaoziyang
帖子: 3917
注册时间: 2019年 10月 21日 13:48

ESP32测试使用128G TF卡

#1

帖子 shaoziyang »

以前有个网友问ESP32可以使用多大的TF卡,当时只有32G的卡,测试是没有问题的,但更大容量的一直没有试过。前几天看到网上活动,有个便宜的128G卡,就买了一个回来做测试。
 
20220216-0.webp
20220216-0.webp (25.12 KiB) 查看 2391 次
 

将卡插到 pyESP32 开发板后连接,提示错误:
 

代码: 全选

>>> os.mount(machine.SDCard(), '/sd')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
OSError: (-259, 'ESP_ERR_INVALID_STATE')
 

估计是文件系统格式问题,插到读卡器一看,果然如此,磁盘格式是exFAT。
 
20220216-1.webp
20220216-1.webp (10.42 KiB) 查看 2391 次
 

因为micropython目前只支持 FAT/FAT32的卡,因此需要先将TF卡的格式转换一下。windows10 中格式化时,已经没有 FAT32 选项,因此需要使用其它软件,我使用了免费的 MiniTool Partition Wizard。先将原有分区删除,然后重新创建一个 FAT32 分区。
 
20220216-2.webp
20220216-2.webp (69.89 KiB) 查看 2391 次
 
 
20220216-3.webp
20220216-3.webp (70.33 KiB) 查看 2391 次
 
 

转换后,可以看到磁盘信息是:
 
20220216-4.webp
20220216-4.webp (10.28 KiB) 查看 2391 次
  
 
 再次加载并读取磁盘信息,就可以成功读取到磁盘,容量也是正确的。
   

代码: 全选

paste mode; Ctrl-C to cancel, Ctrl-D to finish
=== os.mount(machine.SDCard(), '/sd')
=== r = os.statvfs('/sd')
=== print('SD capacity: {} B / {} M'.format(r[0] * r[2], r[0] * r[2]/1024/1024))
=== print('free space: {} B / {} M'.format(r[0] * r[3], r[0] * r[3]/1024/1024))
SD capacity: 126811521024 B / 120936.9 M
free space: 126811488256 B / 120936.9 M
 
 
 
 

回复

  • 随机主题
    回复总数
    阅读次数
    最新文章