Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >NodeMCU读写SD卡.上

NodeMCU读写SD卡.上

作者头像
云深无际
发布于 2021-02-23 02:55:36
发布于 2021-02-23 02:55:36
2.4K00
代码可运行
举报
文章被收录于专栏:云深之无迹云深之无迹
运行总次数:0
代码可运行

先选择你的型号

选择demo

该示例显示了如何记录来自三个模拟传感器的数据

使用SD库将其复制到SD卡。

电路:

模拟输入0、1和2上的模拟传感器

SD卡连接到SPI总线的方法如下:

** MOSI-引脚11

** MISO-针脚12

** CLK-针脚13

** CS-针脚4

这个是UNO的连接图


得出一个结论,ESP的demo在瞎鸡儿写。。。头打烂给你,在8266上面你找到这些引脚,屁股给你踢歪。

骂归骂,事还得办完。

我们可以知道,一次可以连接上三组spi,如果就看片选的引脚

GPIO0是烧写的引脚,需要慎重。

也就是说,两个SPI的传感器,最少5根线~两个片选

如果就一个SPI的话,可以少一根线。因为就它一个设备,就不远选了

这个图可以说是十分形象了

问了半天,表述很重要。有人教更重要,当然别的小伙伴了。不一一道谢了

SPI的通信原理很简单,它是全双工主从通信方式,这种模式下通常有一个主设备和一个或者多个从设备(注意,同一时刻,只有一个主设备和一个从设备进行通信),需要至少4根线,特殊情况下(单向传输时)3根线也可以。

SPI的器件工作在SPI规定下的两种基本模式,即SPI主模式和SPI从模式。在一个SPI设备中,通常有如下表的几个引脚:

主设备负责启动通信,负责输出时钟信号以及选择通信的从设备。当有多个从设备的时候,因为每个从设备上都有一个CS引脚接入到主设备中,当我们主设备和某个从设备通信时将需要将从设备的CS引脚电平设置为低电平或者高电平(根据实际情况而定)。数据的收发通过MISO和MOSI进行。

NodeMCU的SPI(注意与HSPI区分)引脚(SD0-SD3、CLK、CMD)专门用于与ESP-12E的外接flash芯片进行Quad-SPI通信,因此不能用于SPI应用。

基于ESP8266的NodeMcu具有HSPI,具有4个可用于SPI通信的引脚(GPIO12-GPIO15)。通过这个SPI接口,我们可以将任何支持SPI的设备与NodeMcu连接起来,并与其进行通信

里面的一组SPI已经挂存储芯片了,我们用的硬件只有一个了。

1.标准SPI     标准SPI通常就叫做SPI,它是一种串行外设接口规范,有4根引脚信号:CLK、CS、MOSI、MISO; 2.Dual SPI     它只是针对SPI Flash而言,不是针对所有SPI外设。对于SPI Flash,全双工并不常用,因此扩展了MOSI和MISO的用法,让它们工作在半双工,用以加倍数据传输。也就是对于Dual SPI Flash,可以发送一个命令字节进入dual mode,这样mosi变成SIO0(serial io 0),mosi变成SIO1(serial io 1),这样一个时钟周期内就能传输2个bit数据,加倍了数据传输; 3.Quad SPI     与Dual SPI类似,也是针对SPI Flash,Quad SPI Flash增加了两根I/O线(SIO2,SIO3),目的是一个时钟内传输4个bit。所以可以理解为:在传输速度上,Quad SPI=2Dual SPI=4SPI。 所以对于SPI Flash,有标准spi flash,dual spi , quad spi 三种类型,分别对应3-wire, 4-wire, 6-wire,在相同clock下,线数越多,传输速率越高。

我又找了一张图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://arduino-esp8266.readthedocs.io/en/latest/filesystem.htm

这个人家说了,存储器的优先级高嗷

这个是需要烧录之后启动的时候再用的SPI

我们在Arduino里面用的就是HSPI

在class定义里面找到了

这个是具体的实现

SPI.pins()     该功能用于切换SPI引脚映射,需要在SPI.begin()之前调用SPI.pins(6,7,8,0)。     语法:SPI.pins(sck, miso, mosi, ss)     参数:         sck,时钟引脚,固定为6;         miso,主设备输入,从设备输出引脚,固定为7;         mosi,主设备输出,从设备输入,固定为8;         ss,使能信号引脚,固定为0。     返回值:无;

注意点:通常情况下,ESP8266的SPI对应引脚为MOSI-GPIO13,MISO-GPIO12,SCLK-GPIO14,SS-GPIO15。如果在调用SPI.begin()之前调用SPI.pins(6,7,8,0),那么引脚映射就会变成MOSI-SD1,MISO-SD0,SCLK-CLK,HWCS-GPIO0。可以看出它们和ESP8266模块的外接Flash共享了SPI引脚。这个时候SPI的SS控制位就不是由我们的代码来控制,而是由系统硬件本身来调配,因为它必须确保外接Flash的优先级是最高的。

首先code感知的是avr的SPI库,不对

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://github.com/esp8266/Arduino

clone

打开

找到我们的ino

打开库文件的头

找到根源,下篇文章进行SD的监测与读写

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-01-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云深之无迹 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
SPI、DSPI、QSPI技术对比
在嵌入式系统中,串行外设接口(Serial Peripheral Interface,SPI)及其扩展(如 DSPI 和 QSPI)被广泛应用于与外部设备(如传感器、存储器、LCD 控制器等)高速通信。
不脱发的程序猿
2025/04/11
4580
SPI、DSPI、QSPI技术对比
你不懂的这都有UART、I2C、SPI、TTL、RS232、RS422、RS485、CAN、USB、SD卡、1-WIRE
在单片机开发中,UART、I2C、RS485等普遍在用,对它们的认识可能模棱两可,今天我们就来好好的梳理一下。本文较长,同样干货满满,强烈建议收藏。
单片机技术宅
2021/11/02
6K0
SPI协议,这篇就够了!
IIC支持热拔插吗?(附有详细CW32 IIC协议解读) 不知道你学会没有?我在这些低速实验写完以后会给出逻辑分析仪的调试步骤。
云深无际
2025/01/07
7820
SPI协议,这篇就够了!
NodeMCU开发板引脚映射
如下图所示,ESP8266芯片四周分布很多引脚。这些引脚大部分可用作输入输出使用。这些用作输入输出的引脚统称为GPIO。
云深无际
2021/04/14
3.4K0
NodeMCU开发板引脚映射
物联网中的ESP8266该这么用!
在学习物联网的过程中,大家首先想到的通信应该就是蓝牙和wifi了,而wifi中又属esp8266比较出名,包括esp32的快速崛起也离不开起本身内置wife和蓝牙,这个模块本身可以连接路由器,也可以作为热点让你的手机来连接他。 本文主要从以下几个方面来进行讲解:
秋名山码神
2023/11/03
2.1K0
物联网中的ESP8266该这么用!
30-ESP8266 SDK开发基础入门篇--SPI
 lua语言呢是  spi.setup(id, mode, cpol, cpha, databits, clock_div[, duplex_mode])
杨奉武
2019/11/21
7840
MSM8953配置I2C及SPI
此次完成的任务是要使能高通8953平台的i2c和spi,主要做的工作就是在设备树文件中添加节点信息。主要的工作在于对设备树文件的修改,主要修改了msm8953-pinctrl.dtsi和msm8953.dtsi两个文件。
全栈程序员站长
2022/11/02
9790
MSM8953配置I2C及SPI
2.2 SPI协议的FPGA实现
  SPI(Serial Peripheral Interface,串行外围设备接口),是Motorola公司提出的一种同步串行接口技术,是一种高速、全双工、同步通信总线,在芯片中只占用四根管脚用来控制及数据传输,广泛用于EEPROM、Flash、RTC(实时时钟)、ADC(数模转换器)、DSP(数字信号处理器)以及数字信号解码器上。SPI通信的速度很容易达到好几兆bps,所以可以用SPI总线传输一些未压缩的音频以及压缩的视频。   下图是只有2个chip利用SPI总线进行通信的结构图
碎碎思
2020/06/30
2.3K0
佛萨奇公排系统模式开发源码部署(Demo)
常见的SPI通信实现一般包括4根线,CLK,CS,MOSI,MISO,协议的原理比较简单,其实就是在时钟的不同边沿处选择输入还是输出,当选择是输入的时候,数据线要有保持数据的能力;当输出的时候,数据线要能够改变电平来输出数据。
系统_I8O28578624
2023/02/07
4230
ESP32芯片IO解读
我们使用一个开发板最重要得就是知道引脚得定义.所以我们有必要查到精确的资料,这篇文章很有用.也是我日后要查找得文章.
云深无际
2020/11/19
8.4K0
ESP32芯片IO解读
FPGA零基础学习:SPI 协议驱动设计(上)
本系列将带来FPGA的系统性学习,从最基本的数字电路基础开始,最详细操作步骤,最直白的言语描述,手把手的“傻瓜式”讲解,让电子、信息、通信类专业学生、初入职场小白及打算进阶提升的职业开发者都可以有系统性学习的机会。
FPGA技术江湖
2021/03/23
1.1K0
FPGA零基础学习:SPI 协议驱动设计(上)
SPI协议详解以ADS1118为例
一开始先分析了SPI的协议特点,使用ADS1118这个器件作为承载物进行分析,后面用逻辑分析仪从位到字节进行解码,最后使用TI给的demo移植到STM32平台。
云深无际
2024/08/21
4290
SPI协议详解以ADS1118为例
【单片机入门】(一)应用层软件开发的单片机学习之路-----基础知识入门
工作了五六年,一直都是以软件为主,期间也是各个方向都玩,移动端,PC端,网页端,后面在去年西安疫情的那一个月,突然觉得硬件也有很多可玩之处,相比于软件,看得见摸得着的东西可能更容易令人接受,做出成品也更容易有成就感,所以在那段时间我就去研究了一下树莓派,然后当时用node还有c#操控树莓派来进行和传感器等电子元器件进行交互,感兴趣的可以看看我之前的文章C#控制树莓派入门 - 四处观察 - 博客园 (cnblogs.com),这篇文章仅仅用了做树莓派的入门,实际上,和我们这篇单片机的入门实际上也是有一些共性相通的地方。接下来,让我们一起了解一下单片机的入门基础知识吧。
陈显达
2022/11/07
1.4K0
【单片机入门】(一)应用层软件开发的单片机学习之路-----基础知识入门
Dji TT无人机扩展件ESP32芯片(D2WDQ5)
因为最近在做一个无人机辅助的操控装置,大的无人机不方便调试,就目光又转向了TT,所以需要不停的刷写程序,所以又燃起了对扩展件的研究欲望。上面的日志来自于烧录时,里面已经有了很多有趣的东西了,主要时芯片。
云深无际
2021/06/25
1.6K0
Dji TT无人机扩展件ESP32芯片(D2WDQ5)
106-ESP32_SDK开发-SPI
<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/LearnESP32" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>
杨奉武
2021/12/01
1.2K0
106-ESP32_SDK开发-SPI
【STM32H7教程】第94章 STM32H7的SPI总线应用之双机通信(DMA方式)
完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第94章       STM32H7的SPI总线应用之双机通信(DMA
Simon223
2022/05/10
2K0
【STM32H7教程】第94章    STM32H7的SPI总线应用之双机通信(DMA方式)
ESP8266上的MicroPython入门(3)
MicroPython REPL位于UART0(GPIO1 = TX,GPIO3 = RX)上,波特率为115200。制表符补全有助于找出对象具有哪些方法。粘贴模式(Ctrl-E)可用于将大量Python代码粘贴到REPL中。
云深无际
2021/04/14
1.1K0
ESP8266上的MicroPython入门(3)
STM32通信模拟SPI
SPI(Serial Peripheral Interface,串行外设接口)是由摩托罗拉(Motorola)在1980前后提出的一种全双工同步串行通信接口,它用于MCU与各种外围设备以串行方式进行通信以交换信息,通信速度最高可达25MHz以上。
韦东山
2022/05/09
1.5K0
STM32通信模拟SPI
基础——SPI与QSPI的异同,QSPI的具体协议是什么,QSPI有什么用
SPI协议其实是包括:Standard SPI、Dual SPI和Queued SPI三种协议接口,分别对应3-wire, 4-wire, 6-wire。
233333
2021/11/24
9.7K0
基础——SPI与QSPI的异同,QSPI的具体协议是什么,QSPI有什么用
ESP8266实际引脚以及芯片引脚的映射
ESP8266的GPIO(1,3,9,10)不能按常规的GPIO方式进行理解和使用,根据ESP8266的系统(SoC)设计,其内部包含了处理器芯片等组件,处理器有17GPIO线路,其中一些GPIO规定默认用于与其他内部组件进行通信,比如与内部闪存的通信等。这样我们大约还有11个GPIO引脚可按常规GPIO进行使用,在这11个针脚中,又有2个针脚预留给串口RX和TX。最后只剩下9个通用I/O引脚,即D0到D8。
云深无际
2021/02/23
3.9K0
ESP8266实际引脚以及芯片引脚的映射
相关推荐
SPI、DSPI、QSPI技术对比
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验