18680|24

1万

帖子

24

TA的资源

版主

楼主
 

ESP8266挂载SD卡 [复制链接]

 
 
本帖最后由 dcexpert 于 2016-9-21 15:57 编辑

虽然没有SDIO接口,但ESP8266现在可以通过SPI方式挂载SD卡了。下面介绍具体方法:

将macroSD通过SPI和ESP8266连接,一共需要4个GPIO和VCC、GND。

SPI的连接方式是:

ESP8266MacroSD
1MIMISO
2MOMOSI
3SCKSCK
4G16CS

CS可以接任意IO,在官方例程中使用了GPIO15,但是GPIO15会影响启动,启动时如果GPIO15不是低电平会造成启动时故障,因此不能连接GPIO15启动,换成GPIO16就没有这个问题。
连接后,先将sdcard.py通过传输工具下载到ESP8266,然后用下面命令就可以挂载了。




  1. >>> import machine, sdcard, os
  2. >>> sd = sdcard.SDCard(machine.SPI(0), machine.Pin(16))
  3. >>> os.umount()
  4. >>> os.VfsFat(sd, "")
  5. <VfsFat>
  6. >>> os.listdir()
  7. ['LOST.DIR', 'backup', '10.bmp', '09.bmp', '08.bmp', '07.bmp', '06.bmp', '05.bmp
  8. ', '04.bmp', '03.bmp', '02.bmp', '01.bmp']
复制代码











sdcard文件
sdcard.zip (2.99 KB, 下载次数: 205)

注:
  • ESP8266固件版本不低于1.8.3
  • 使用sdcard.SDCard函数时需要先插卡
  • 这个sdcard驱动有些挑卡,如果提示不支持的卡或者os.VfsFat失败,可以换卡试试。


最新回复

不错赞真好需要这个模块研究研究   详情 回复 发表于 2021-9-21 15:30

赞赏

1

查看全部赞赏

点赞 关注(2)
 
 

回复
举报

1228

帖子

0

TA的资源

纯净的硅(高级)

沙发
 

学习了
个人签名

喝最烈的酒,..DIY最实用的东西

 
 
 

回复

2774

帖子

8

TA的资源

版主

板凳
 
来跟D大学习,
 
 
 

回复

3238

帖子

5

TA的资源

五彩晶圆(中级)

4
 
不错
个人签名淘宝:https://viiot.taobao.com/Q群243090717
多年专业物联网行业经验,个人承接各类物联网外包项目
 
 
 

回复

5

帖子

0

TA的资源

一粒金砂(中级)

5
 
请教大侠dcexpert, sdcard.py 到哪找呢, driver/sdcard.py  报错, 不能导入 import pyb

点评

sdcard.py需要下载MicroPython的源码,在源码的drive目录下。等一会我上传这个文件到1楼吧,免得大家下载了。 这个模块是ESP8266,没有pyb库,pyb是STM32专有的。ESP8266可以用machine库。  详情 回复 发表于 2016-9-21 15:56
 
 
 

回复

1万

帖子

24

TA的资源

版主

6
 
hxl_led 发表于 2016-9-21 15:51
请教大侠dcexpert, sdcard.py 到哪找呢, driver/sdcard.py  报错, 不能导入 import pyb

sdcard.py需要下载MicroPython的源码,在源码的drive目录下。等一会我上传这个文件到1楼吧,免得大家下载了。

这个模块是ESP8266,没有pyb库,pyb是STM32专有的。ESP8266可以用machine库。
 
 
 

回复

5

帖子

0

TA的资源

一粒金砂(中级)

7
 
感谢dcexpert  另请教 我写个点LED 的脚本,如何能一上电就能运行呢,

点评

默认情况下,上电自动运行main.py,所以可以将程序保存到main.py中就可以。或者在main.py中调用其它程序也可以。  详情 回复 发表于 2016-9-21 21:29
 
 
 

回复

1万

帖子

24

TA的资源

版主

8
 
hxl_led 发表于 2016-9-21 21:21
感谢dcexpert  另请教 我写个点LED 的脚本,如何能一上电就能运行呢,

默认情况下,上电自动运行main.py,所以可以将程序保存到main.py中就可以。或者在main.py中调用其它程序也可以。
 
 
 

回复

5

帖子

0

TA的资源

一粒金砂(中级)

9
 
感谢dcexpert的解答  另esp8266  demo目录里的文件是如何传过去的呢

点评

ESP8266本身没有USB,不能用磁盘方式复制,需要用另外的文件传输工具。我在论坛推荐过uPyLoader,官网工具是webrepl,还有mpfshell也可以用。  详情 回复 发表于 2016-9-22 21:03
 
 
 

回复

1万

帖子

24

TA的资源

版主

10
 
hxl_led 发表于 2016-9-22 19:19
感谢dcexpert的解答  另esp8266  demo目录里的文件是如何传过去的呢

ESP8266本身没有USB,不能用磁盘方式复制,需要用另外的文件传输工具。我在论坛推荐过uPyLoader,官网工具是webrepl,还有mpfshell也可以用。
 
 
 

回复

2721

帖子

0

TA的资源

纯净的硅(中级)

11
 
如果我想接收不同波特率的数据,esp8266这边如何让设置?

点评

ESP8266有两个串口,串口1用于repl,波特率固定为115200,如果和其它模块通信会相互干扰。串口2只有输出(输入用于Flash芯片),它的波特率可以修改。  详情 回复 发表于 2016-9-23 09:55
 
 
 

回复

1万

帖子

24

TA的资源

版主

12
 
suoma 发表于 2016-9-22 21:35
如果我想接收不同波特率的数据,esp8266这边如何让设置?

ESP8266有两个串口,串口1用于repl,波特率固定为115200,如果和其它模块通信会相互干扰。串口2只有输出(输入用于Flash芯片),它的波特率可以修改。
 
 
 

回复

5

帖子

0

TA的资源

一粒金砂(中级)

13
 
再次请教 dcexpert 大侠  我 下载了您的sdcard.py  运行出错  ,接上 sdcard引线 和不接 出错提示都一样
>>> import machine, sdcard, os
>>> sd = sdcard.SDCard(machine.SPI(0), machine.Pin(16))
Traceback (most recent call last):
  File "", line 1, in
ValueError:


这是什么原因呢,万分感谢

点评

固件升级了没有?需要大于1.8.3才行。  详情 回复 发表于 2016-9-26 22:26
 
 
 

回复

1万

帖子

24

TA的资源

版主

14
 
hxl_led 发表于 2016-9-26 22:04
再次请教 dcexpert 大侠  我 下载了您的sdcard.py  运行出错  ,接上 sdcard引线 和不接 出错提示都一样
> ...

固件升级了没有?需要大于1.8.3才行。
 
 
 

回复

5

帖子

0

TA的资源

一粒金砂(中级)

15
 
是 1.84版本

点评

先检查一下连线,还有升级固件时最后先清除一次FLash,然后在更新试试。  详情 回复 发表于 2016-9-27 10:00
 
 
 

回复

1万

帖子

24

TA的资源

版主

16
 

先检查一下连线,还有升级固件时最后先清除一次FLash,然后在更新试试。
 
 
 

回复

96

帖子

0

TA的资源

一粒金砂(中级)

17
 
MI,MO是那个IO?,spi0不是被占用了么?

点评

挂载后,原有的flash就不能访问了。  详情 回复 发表于 2018-7-5 18:03
 
 
 

回复

1万

帖子

24

TA的资源

版主

18
 
youxinweizhi 发表于 2018-7-5 13:56
MI,MO是那个IO?,spi0不是被占用了么?

挂载后,原有的flash就不能访问了。
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

19
 

你好!请教一个问题。esp8266的程序在运行的时候不是也需要从flash中加载到内存中运行的吗!那如果你这个spi0挂载了sd卡,那这部分函数还怎么运行啊?

点评

这两个SPI硬件上是不同的,不冲突  详情 回复 发表于 2020-3-14 11:30
 
 
 

回复

1万

帖子

24

TA的资源

版主

20
 
wgy504 发表于 2020-3-13 16:21 你好!请教一个问题。esp8266的程序在运行的时候不是也需要从flash中加载到内存中运行的吗!那如果你这个sp ...

这两个SPI硬件上是不同的,不冲突

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表