在SPI.cpp源文件的最后面定义了SPIClass对象SPI: #ifCONFIG_IDF_TARGET_ESP32SPIClassSPI(VSPI);#elseSPIClassSPI(FSPI);#endif 在sdkconfig.h头文件中可以查看到已经定义了#define CONFIG_IDF_TARGET_ESP32 1,所以是使用VSPI定义了SPI对象。 在esp32-hal-spi.h
ESP32-PICO系列是基于ESP32芯片的系统级封装 (SiP) 产品。 ESP32-PICO 系列产品包括: ESP32-PICO-D4 ESP32-PICO-V3 ESP32-PICO-V3-02 其实ESP32-PICO系列和ESP32的区别就只在于:ESP32-PICO已经将晶振、滤波电容、SPI flash/PSRAM、RF匹配链路等所有外围器件无缝集成进封装内。 也就是说将ESP32的一些外围...
在ESP32中,VSPI和HSPI是两个可用的SPI接口,它们的功能是相同的。一些库可能默认使用其中一个,多数是VSPI。 I2C引脚 I2C是什么 I2C(Inter-Integrated Circuit)与SPI类似,也用于跟各种设备进行沟通。 设备彼此沟通的规则,我们通常会称呼为串行通信协议。 I2C使用注意 I2C引脚 I2C只需要两个引脚,不管连接几个I2C设备...
ESP32共有4路SPI, SPI0,SPI1,SPI2,SPI3 同时SPI2还取了个别名叫做 HSPI ; 同时SPI3还取了个别名叫做 VSPI SPI0,SPI1是只访问缓存芯片使用,可以用来给模组用来扩容ram. SPI0,SPI1的引脚分布在 GPIO6(SPI_CLK); GPIO7(SPI_Q); GPIO8(SPI_D); GPIO9(SPI_HD); GPIO10(SPI_WP); GPIO11(SPI_C...
GPIO5: 上电默认输出一个低脉冲(200ms左右),正常运行输出高电平; 输入输出IO; VSPI_CS; HS1_DATA6; GPIO18: 输入输出IO; VSPI_CLK; HS1_DATA7; GPIO19: 输入输出IO; VSPI_Q; GPIO21: 输入输出IO; VSPI_HD; GPIO3: 输入输出IO; USART0_RX;(程序串口通信下载口) ...
只有VSPI和HSPI是可用的SPI接口,第三条SPI总线由集成闪存芯片使用。VSPI 引脚常用于标准库中。 HSPI 与 VSPI HSPI 有时被误解为“硬件”SPI,VSPI 被误解为“虚拟或软件”SPI。但实际上,它们是相同的! 与I2C 一样,您可以使用该命令对任何 GPIO 引脚上的 SPI 协议进行位操作bus.begin(CLK_PIN, MISO_PIN...
vspi = SPI(2, baudrate=80000000, polarity=0, phase=0, bits=8, firstbit=0, sck=Pin(18), mosi=Pin(23), miso=Pin(19)) 1. 2. 3. 4. 5. I2C软总线 软I2C(使用 bit-banging)可以工作在所有可输出引脚,通过machine.SoftI2C类进行访问: ...
这里VSPI来连接oled OLED --- NodeMCU GND引脚---NodeMCU-32s的GND; VDD引脚---3.3V或5V都可以; D0是SCK时钟引脚---NodeMCU GPIO18 vspi sck; D1是SDA引脚---GPIO23 vspi mosi 数据引脚; RESET引脚---选一个普通的GPIO19; DC数据命令引脚---选一个普通的GPIO21; CS引脚---选一个普通的GPIO22...
CS -> GPIO5(VSPI CS0) SDA -> GPIO23(VSPI MOSI) RST -> GPIO21 //随便选一个能用的就行 GND -> GND 最后附一个接线图: 三,软件部分 开发环境使用的是VSCODE,装了platform IO插件,本来是用的Arduino IDE的,用了两天感觉不好用就换了,这个在网上搜一下就有很多教程,要注意的是第一次创建项目的...
可以看出,我使用的是ESP32的SPI3(VSPI)接口,因为SPI2(HSPI)我给了显示屏用了嘛。电路图需要的注意的地方就是信号线要加上上拉电阻。OK,了解硬件资源后,开始做驱动吧。 那么要读写SD卡,先要初始化SD卡,初始化SD卡就要先配置好ESP32的SPI,才能与其进行通信。所以先来配置ESP32的SPI。