ESP32S3学习——SPI

20- ESP32-S3 SPI 外设,主设备编程方法 ESP32-S3 芯片集成了四个SPI 控制器,分别为和SPI3。SPI0 和SPI1 控器主要供内部使用以访问外部 FLASH 和 PSRAM,所以只能使用SPI2 和 SPI3。SPI2 又称为HSPI,SPI3 又称为VSPI,这两个属于GP-SPI。特性描述支持模式主机模式和从机模式支持通信方式半双工通信和全双工通信支持的数据模式。 阅读详情
AI摘要

文章介绍了ESP32-S3芯片的SPI接口特性,包括四个SPI外围设备,重点讨论了SPI主驱动程序的功能,如多线程环境下的数据传输、中断事务和轮询事务的工作方式。此外,还提到了事务的五个阶段、线/行模式、读写操作、事务速度和时钟频率等关键信息。

芯片:esp32

开发环境:espidfv4.4

一、官网相关资料(又是英文—)

1)简介

SPI,没啥信息,跳过

2)esp32s3 SPI外设介绍

  • ESP32-S3集成了4个SPI外围设备。emm,实际能用的是两个

  • SPI0和SPI1在内部用于访问ESP32-S3的flash。两个控制器共享相同的SPI总线信号,并且有一个仲裁器来确定哪一个可以访问总线。

  • 目前,SPI主驱动程序不支持SPI1总线。

  • SPI2和SPI3是通用SPI控制器。它们对用户开放。SPI2和SPI3具有各自名称相同的独立信号总线。SPI2有6条CS线路。SPI3有3条CS线路。每条CS线路可用于驱动一个SPI从设备。??cs线随便个IO不就可以

3)相关术语

TermDefinition
Host主机,ESP32-S3内部的SPI控制器外围设备,通过总线启动SPI传输,并充当SPI主设备。
DeviceSPI从设备。SPI总线可以连接到一个或多个设备。每个设备共享MOSI、MISO和SCLK信号,但只有当主机断言设备的单个CS线路时,才在总线上激活。
Bus一种信号总线,后面不用看,对连接到一个主机的所有设备都是公用的。通常,总线包括以下线路:MISO、MOSI、SCLK、一条或多条CS线路,以及可选的QUADWP和QUADHD。因此,设备连接到相同的线路,除了每个设备都有自己的CS线路。如果以菊花链方式连接,多个设备也可以共享一条CS线路。
MOSIMaster Out, Slave In,
MISOMaster In, Slave Out
SCLK时钟
CS片选
QUADWP写入保护信号。用于4位(qio/qout)交易。也适用于八进制/OPI模式下的数据2信号。
QUADHD保持信号。用于4位(qio/qout)交易。同样适用于八进制/OPI模式下的数据3信号。
DATA4Data4 signal in Octal/OPI mode.
DATA5Data5 signal in Octal/OPI mode.
DATA6Data6 signal in Octal/OPI mode.
DATA7Data7 signal in Octal/OPI mode.
Assertion断言,激活线路的动作。
De-assertion取消断言,将线路返回非活动(返回空闲)状态的操作。
Transaction主机断言CS线路、向设备传输数据和从设备传输数据以及取消断言CS线路的一个实例。事务是原子的,这意味着它们永远不会被另一个事务中断。
Launch edge不懂 源寄存器*将信号发射到线路上的时钟边沿。
Latch edge亦不懂 目的寄存器*锁存在信号中的时钟的dge。

4)驱动特点

SPI主驱动程序控制主机与设备的通信。驱动程序支持以下功能:
  • 多线程环境

  • 读写数据时对DMA传输的透明处理

  • 来自同一信号总线上不同设备的数据的自动时分复用,请参阅SPI总线锁定。嘛意思

    • SPI主驱动器具有连接到单个总线的多个设备的概念(共享单个ESP32-S3 SPI外围设备)。只要每个设备只被一个任务访问,驱动程序就是线程安全的。但是,如果多个任务试图访问同一个SPI设备,则驱动程序不是线程安全的。在这种情况下,建议: 重构应用程序,使每个SPI外围设备一次只能由单个任务访问。 使用xSemaphoreCreateMutex在共享设备周围添加互斥锁。

5)传输事务

SPI总线事务由五个阶段组成,可在下表中找到。这些阶段中的任何一个都可以跳过。
PhaseDescription
Command主机向向从机写入0-16位数据
Address主机向从机写入0-32位地址数据
Write主机向设备发送数据。该数据遵循可选的命令和地址阶段,并且在电气级别上与它们无法区分。
Dummy此阶段是可配置的,用于满足时间要求。
Read读

事务的属性由总线配置结构spi_bus_config_t、设备配置结构spi_device_interface_config_ts和事务配置结构spi_transaction_t确定。

SPI主机可以发送全双工事务,在此期间读取和写入阶段同时发生。事务总长由以下成员的总和决定:

而成员spi_transaction_t::rxlength仅决定接收到缓冲区中的数据的长度。

在半双工事务中,读取和写入阶段不是同时进行的(一次一个方向)。写入和读取阶段的长度分别由结构spi_transaction_t的长度和rxlength成员决定。

命令和地址阶段是可选的,因为不是每个SPI设备都需要命令和/或地址。这反映在设备的配置中:如果command_bits和/或address_bits设置为零,则不会出现命令或地址阶段。

读取和写入阶段也可以是可选的,因为并非每个事务都需要写入和读取数据。如果rx_buffer为NULL并且未设置SPI_TRANS_USE_RXDATA,则跳过读取阶段。如果tx_buffer为NULL并且未设置SPI_TRANS_USE_TXDATA,则跳过写入阶段。

驱动程序支持两种类型的事务:中断事务和轮询事务。程序员可以选择每个设备使用不同的事务类型。如果您的设备需要两种事务类型,请参阅“向同一设备发送混合事务的说明”。

6)中断事务

中断事务将阻塞事务例程,直到事务完成,从而允许CPU运行其他任务。(怎末感觉折磨别扭)

一个应用程序任务可以对多个事务进行排队,驱动程序将在中断服务例程(ISR)中自动逐一处理这些事务。它允许任务切换到其他过程,直到所有事务完成。(索嘎)

7)轮询事务

轮询事务不使用中断。例程一直轮询SPI主机的状态位,直到事务完成。

所有使用中断事务的任务都可以被队列阻止。此时,他们将需要等待ISR运行两次,然后才能完成事务。轮询事务可以节省在队列处理和上下文切换上花费的时间,从而缩短事务持续时间。缺点是当这些事务正在进行时,CPU很忙。cpu很忙!!!

spi_device_polling_end()例程需要至少1us的开销,以便在事务完成时取消阻止其他任务。强烈建议使用函数spi_device_acquire_bus()和spi_device_release_bus(()包装一系列轮询事务,以避免开销。有关更多信息,请参阅总线获取。还没看api,8懂

8)事务线/行模式?

下面列出了ESP32-S3支持的行模式,要使用这些模式,请在结构体spi_transaction_t中设置成员标志,如transaction Flag列所示。如果要检查是否设置了相应的IO引脚,请在spi_bus_config_t中设置成员标志,如总线IO设置标志列所示。

乐鑫你网页没做好,表格超出了。不超出我也看不懂

9)命令地址阶段

在命令和地址阶段,结构spi_transaction_t中的成员cmd和addr被发送到总线,此时不读取任何内容。命令和地址阶段的默认长度是通过调用spi_bus_add_device()在spi_device_interface_config_t中设置的。如果未设置成员SPI_transaction_t::标志中的SPI_TRANS_VARIABLE_CMD和SPI_TRANS_VARIABLE_ADDR标志,则驱动程序会在设备初始化期间自动将这些阶段的长度设置为默认值。

(回头仔细看,可能有用)

如果命令和地址阶段的长度需要可变,则声明结构体spi_transaction_ext_t,在成员spi_transaction _ext_t::base中设置spi_TRANS_variable_CMD和/或spi_TRANS_variable_ADDR标志,并照常配置base的其余部分。然后,每个阶段的长度将等于结构spi_transaction_ext_t.v中设置的command_bits和address_bits

如果命令和地址阶段需要与数据阶段的行数相同,则需要将SPI_TRANS_MULTILINE_CMD和/或SPI_TRANS_MULTILINE_ADDR设置为结构SPI_transaction_t中的标志成员。另请参阅交易行模式。

10)读写

通常,需要传输到设备或从设备传输的数据将从结构spi_transaction_t的成员rx_buffer和tx_buffer指示的存储器块中读取或写入。如果为传输启用了DMA,则要求缓冲区为:

  • 分配在具有DMA功能的内部内存中。如果启用了外部PSRAM,这意味着使用pvPortMallocCaps(大小,MALLOC_CAP_DMA)。

  • 32位对齐(从32位边界开始,长度为4字节的倍数)。

  • 如果不满足这些要求,则由于临时缓冲区的分配和复制,将影响事务效率。

如果使用多条数据线进行传输,请为结构体SPI_DEVICE_interface_config_t中的成员标志设置SPI_DEVICE_HALFDUPLEX标志。结构体spi_transaction_t中的成员标志应该按照事务行模式中的描述进行设置。

不支持同时具有读取和写入阶段的半双工事务。请使用全双工模式。

11)获取总线

有时,您可能希望以独占方式连续发送SPI事务,以便尽可能少地花费时间。为此,您可以使用总线获取,这有助于暂停到其他设备的事务(轮询或中断),直到总线释放。要获取和释放总线,请使用函数spi_device_acquire_bus()和spi_device_release_bus(。

12)驱动使用

  • 通过调用函数SPI_bus_Initialize()初始化SPI总线。确保在结构spi_bus_config_t中设置了正确的I/O引脚。将不需要的信号设置为-1。

  • 通过调用函数spi_bus_add_Device(),向驱动程序注册连接到总线的设备。请确保使用参数dev_config配置设备可能需要的任何定时要求。您现在应该已经获得了设备的句柄,该句柄将在向其发送事务时使用。

  • 要与设备交互,请使用所需的任何事务参数填充一个或多个spi_transaction_t结构。然后使用轮询事务或中断事务发送结构:

    • 中断

      • 通过调用函数spi_device_queue_trans()对所有事务进行排队,稍后使用函数spi_device_get_trans_result()查询结果,或者通过将所有请求馈送到spi_device_transmit()中来同步处理所有请求。

    • 轮询

      • 调用函数spi_device_polling_transmit()发送轮询事务。或者,如果您想在两者之间插入一些东西,请使用spi_device_polling_start()和spi_device_polling_end()发送事务。

    (可选)要使用设备执行背靠背事务,请在发送事务之前调用函数spi_Device_acquire_bus(),在发送事务之后调用函数spi_Device_release_bus(()。 (可选)要卸载某个设备的驱动程序,请调用spi_bus_remove_Device(),并将设备句柄作为参数。 (可选)要删除总线的驱动程序,请确保不再连接驱动程序,然后调用spi_bus_free()。

12)数据不超过32位的事务

当事务数据大小等于或小于32位时,为数据分配缓冲区将是次优的。数据可以直接存储在事务结构中。对于传输的数据,可以通过使用tx_data成员并在传输上设置SPI_TRANS_USE_TXDATA标志来实现。对于接收到的数据,使用rx_data并设置SPI_TRANS_use_RXDATA。在这两种情况下,都不要触摸tx_buffer或rx_buffer成员,因为它们使用与tx_data和rx_data相同的内存位置。

13)使用uint8_t以外的整数的事务

SPI主机逐字节地读取数据并将数据写入内存。默认情况下,发送数据时首先使用最高有效位(MSB),在极少数情况下首先使用LSB。如果需要发送小于8位的值,则应以MSB优先的方式将这些位写入存储器。

例如,如果需要发送0b00010,则应将其写入uint8_t变量,并且读取的长度应设置为5位。设备仍将接收8个比特和3个额外的“随机”比特,因此必须正确执行读取。

除此之外,ESP32-S3是一个小端序芯片,这意味着uint16_t和uint32_t变量的最低有效字节存储在最小地址。因此,如果uint16_t存储在存储器中,则首先发送比特[7:0],然后发送比特[15:8]。

对于要传输的数据具有不同于uint8_t阵列的大小的情况,可以使用以下宏将数据转换为SPI驱动程序可以直接发送的格式:

14)混合事务传输注意事项,暂时用不到,先不看

15)传输速度注意事项

有三个因素限制了传输速度:

  • 事务处理间隔

  • SPI时钟频率

  • SPI函数的缓存未命中,包括回调

决定大型事务传输速度的主要参数是时钟频率。对于多个小型事务,传输速度主要由事务间隔的长度决定。

16)传输持续时间

事务持续时间包括设置SPI外围寄存器、将数据复制到FIFO或设置DMA链路,以及SPI事务的时间。

中断事务允许附加额外的开销,以适应FreeRTOS队列的成本以及在任务和ISR之间切换所需的时间。

对于中断事务,CPU可以在事务进行时切换到其他任务。这节省了CPU时间,但增加了事务持续时间。请参阅中断事务。对于轮询事务,它不阻止任务,但允许在事务进行时进行轮询。有关详细信息,请参阅轮询事务。

如果启用了DMA,则设置链接列表需要每个事务大约2 us。当主机正在传输数据时,它会自动从链表中读取数据。如果未启用DMA,则CPU必须自己从FIFO中写入和读取每个字节。通常,这比2us快,但写入和读取的事务长度都限制为64字节。

一个字节数据的典型事务持续时间如下所示。(小字节不需要dma)

  • Interrupt Transaction via DMA: 26 µs.

  • Interrupt Transaction via CPU: 24 µs.

  • Polling Transaction via DMA: 11 µs.

  • Polling Transaction via CPU: 9 µs.

17)SPI时钟频率

传输每个字节需要八倍于8/fspi的时钟周期。别扭

18)缓存未命中(看不懂)

19)官方示例

可以在ESP-IDF示例的外围设备/SPI_master/hd_eprom目录中找到使用SPI主半双工模式来读取/写入AT93C46D EEPROM(8位模式)的代码示例。

下一篇分析下lcd历程

esp32-S3专题一:初识esp32 推荐使用官方的esp-IDE工具,尽管这个工具存在各种debug,但是安装简单,新人上手几乎没有门槛。其中的具有独特的串口调试信息输出机制(堆栈金丝雀回溯),是vscode和Arduino不具备的,对于缺乏在线调试的项目来说十分友好。idf=4.4直接下载第二个链接:espressif-ide-setup-2.9.1-with-esp-idf-5.0.1esp系列根据实际选择,不清楚的小伙伴全选配置安装即可。安装完成菜单:乐鑫-》ESP-IDF工具管理器-》安装工具。 阅读详情

相关推荐

ESP32S3学习——spi_lcd_ILI9341

ESP32S3学习——spi_lcd_ILI9341

HandBAI的博客 2223

ESP32-S3 的 SPI,真的不只是“连个屏幕那么简单

以 ST7789 这类 SPI 屏为例,看起来只是:SPI + GPIO + 刷图异形屏(物理分辨率 ≠ 驱动分辨率)显存偏移DC / CS / RST 多控制线DMA 对齐问题刷屏撕裂。

坏柠的博客 895

ESP32-S3驱动0.96寸ST7735彩屏:软件SPI与硬件SPI移植实战指南

本文提供了ESP32-S3驱动0.96寸ST7735彩屏的完整实战指南,详细对比了软件SPI与硬件SPI两种驱动方式。内容涵盖引脚连接、驱动文件移植、工程配置及测试代码编写,帮助开发者根据项目需求(如引脚灵活性或性能要求)快速选择并成功点亮屏幕,适用于嵌入式显示应用开发。

weixin_32005771的博客 222

【ESP32-IDF】 02-4 外设-SPI

SPI 文章目录SPI1. 硬件描述1.1 SPI资源描述1.2 SPI类型描述1.2.1 四线标准SPI1.2.2 三线SPI1.2.3 Dual SPI1.2.3 Quad SPI2. SPI配置过程2.1 SPI通讯过程2.2 详细配置流程2.2.1 配置总线初始化结构体2.2.2 总线初始化2.2.3 设备初始化结构体2.2.4 设备初始化2.2.5 数据包收发结构体配置2.2.5.1 固定长度结构体2.2.5.2 非固定长度结构体2.2.6 数据包的发送2.2.6.1 以中断方式发送2.2.6.2

qq_41741344的博客 2万+

立创ESP32-S3开发板实战:驱动ST7789屏幕运行NMMiner加密货币挖矿项目

本文详细介绍了如何使用立创ESP32-S3开发板驱动ST7789屏幕,并运行NMMiner加密货币挖矿项目的完整实战教程。内容涵盖硬件连接、固件烧录、上电测试及项目配置,旨在通过这一趣味性嵌入式项目,帮助开发者学习ESP32开发与SPI屏幕驱动技术,体验完整的硬件项目实践流程。

weixin_35639680的博客 234

基于ESP32-S3的作业登记与FC游戏机二合一项目全解析

本文详细解析了基于ESP32-S3的作业登记与FC游戏机二合一项目的实现过程。项目巧妙结合了LVGL界面开发与Retro-Go模拟器,通过SD卡存储实现学习任务管理与经典FC游戏娱乐功能,并支持离线语音控制。文章涵盖了硬件清单、电路连接、软件设计及调试要点,为创客提供了完整的复现指南。

weixin_42510243的博客 261

ESP32_IDF学习(11)--SPI

一、SPI主机驱动 SPI主控程序是一个控制ESP32的SPI外围设备的程序,同时它们作为主控设备发挥作用。 ESP32的SPI外围设备概述 ESP32集成了4个SPI外设。 SPI0和SPI1在内部用于访问ESP32的附加闪存。两个控制器共享相同的SPI总线信号,并且有一个仲裁器来决定哪个控制器可以访问总线。 在SPI1总线上使用SPI主驱动器时有很多限制,请看在SPI1总线上使用SPI主驱动器的注意事项。 SPI2和SPI3是通用的SPI控制器,有时分别被称为HSPI和VSPI。它们对用户是开放的

weixin_43677266的博客 1万+

【雕爷学编程】MicroPython手册之 ESP32-S3 硬件SPI总线

接下来,我们使用spi.init()函数初始化SPI总线,并使用spi.configure()函数设置通信参数,包括最大时钟频率、数据位数和起始位等。接下来,我们使用spi.init()函数初始化SPI总线,并使用spi.configure()函数设置通信参数,包括最大时钟频率、数据位数和起始位等。接下来,我们使用machine.SPI()函数创建了一个SPI对象,并指定使用SPI1总线、工作模式为Master、数据传输格式为SPI格式,并将GPIO2引脚作为SPI设备的MOSI引脚。

雕爷学编程 1695

ESP32-S3学习笔记<5>:SPI的应用

ESP32-S3的SPI外设的使用学习笔记。

cdsmakc的博客 1875

【实验】ESP32S3的SPI通信

ESP32-S3-N16R8是乐鑫信息科技(Espressif Systems)推出的一款高性能、低功耗的Wi-Fi和蓝牙双模芯片。它继承了ESP32系列的传统,并引入了更为强大的处理能力和丰富的外设资源。本次实验我们选用的是图灵哥TRGESP32S3拓展板,板子上搭载的是乐鑫科技ESP32-S3-N16R8这颗SOC,同时还用到图灵哥科技的2.4寸屏模块,接口方便接插。虽然ESP32-S3-N16R8没有内置以太网MAC/PHY,但它可以通过外部PHY芯片和RMII接口来支持以太网连接。

Turinger_1408的博客 4725

【牛股启动线】副图指标使用技术说明,图文案例分享,通达信炒股指标

如上图,在紫色线在黑色虚线上时,在出现紫色柱线时,通常会出现强势拉升的行情​。柱线加长加上紫色线上扬,进场跟随做多抓强势行情,紫色柱线和紫色线同时做多持续则可以继续持股。如上图,副图指标【牛股启动线】,指标信号包括紫色线走势信号和紫色柱线信号,以及底部的四条虚线技术信号​,还有一条绿色的参考线,一条黑色的虚线两天分档线。如上图,参考买点,紫色柱线开始出现时进场买点,在上图标记的位置对应的就是进场买点​。紫色柱线加长+紫色线上扬,多头共振持股,行情继续拉升阶段,持股待涨或顺势​进场做多。

weixin_69760830的博客 1910

ESP32S3学习Vol2:SPI协议与使用

CPHA的不同参数则规定了数据采样是在SCK时钟的奇数边沿还是偶数边沿,CPHA = 0,数据采样是在SCK时钟的奇数边沿,CPHA = 1,数据采样是在SCK时钟的偶数边沿,这里不使用上升沿或下降沿表示,是因为不同模式下,奇数边沿或偶数边沿与上升沿或下降沿的对应不是固定的。数据更新在SCK时钟的偶数边沿,本模式中,偶数边沿为上升沿。CPOL:就是表示设备未被选中的空闲状态时,串行时钟SCK的电平状态,CPOL = 0,空闲状态时SCK为低电平,CPOL = 1,空闲状态时SCK为高电平;

qq_46025708的博客 2244

【搭建实战】全国天气预报看板搭建

不仅如此,码匠还一站式提供了企业内部系统常用的租户管理、细粒度的权限控制、审计日志等功能,让您快速搭建后台应用的同时,也为您的企业信息安全保驾护航。是一款国内研发的开发者友好的低代码平台,您无需了解React/Vue等框架的开发、部署等各种细节,就可以快速打通前后端,连接RESTAPI、MySQL、MongoDB等多种数据源,然后通过一套开箱即用的组件,轻松搭建功能完善的数据看板、数据洞察、Admin管理后台等多种应用。天气预报对我们的各项活动有很大的帮助,可以让我们合理安排自己的出行等活动。...

weixin_39545889的博客 428

使用 ESP32S3 驱动 OLED 屏幕的示例程序

使用 ESP32S3 驱动 OLED 屏幕的示例程序

weixin_43459551的博客 14

通俗易懂的图解二叉搜索树、AVL树和红黑树

搜索是一种很常见的需求,当数据较多时,如何找到目标对象时,即需要搜索查找。 那么如何快速找到目标呢,最朴素的思想就是暴力查找,一个一个对比。 显然,当数据量增大时,我们需要优化查找方法获取更快的查找速度,我们可以通过维护一个有序数组,从而实现二分查找,查找速度从O(n)降为O(longn)。 但是数组并不便于插入和删除,链表便成为了最好的选择。 既然是采用二分查找,那么不如直接按照查找的步骤维护一种数据结构,于是二叉搜索树出现了。 二叉搜索树的性质为: 若左子树不为空,则左子树上所有节点值都小于根结点值;

暗色光的博客 758

信息奥赛课课通(C++)p154-1近似排序

试题描述 读入一对正整数,将这两个数之间(包括这两个数本身)的所有数按下述特别规则排序后输出,该特别规则是按两数倒过来的值进行比较决定其大小,如30倒过来为3,29倒过来为92,则29大于30. 输入要求 1行,包含两个用空格隔开的自然数,这两个自然数给出了待排序数的范围,其中1≤第一个数≤第二个数≤999999999,两个数之差不超过100. 输出要求 输出排序后的数据,每行输出...

mengdicfm的博客 7283

esp32学习笔记-2 ADC的使用

unit_id选择哪个ADC,clk_src选择ADC时钟源,ulp_mode选择是否能够使用协处理器进行控制。关于ADC时钟源RTC ADC的时钟源只能为RTC_FAST_CLK,没有其他选择,一般默认即可。atten衰减对应检测范围如下,其中ADC_ATTEN_DB_11在现在的esp-idf中已经变为ADC_ATTEN_DB_12了。关于测量值的计算,根据参考手册,ADC内置参考电压为1.1mv,以6dB衰减,位宽12bit,测量数据为960为例,计算测量实际电压。

greenorangee的博客 780

ENVI哨兵一号数据处理

使用ENVI+SarScape处理哨兵数据

Rjjjjj11的博客 2万+

ESP32-S3(1) : 学习路线

学习ESP32-S3是一个循序渐进的过程,结合了硬件操作和软件编程。以下是一条清晰、实用的学习路线,帮助你从零基础成长为能够开发复杂项目的开发者。

Lxinccode的博客 655

Rsoft仿真实战:长周期光纤光栅参数优化与模式耦合分析

本文详细介绍了使用Rsoft软件进行长周期光纤光栅(LPFG)参数优化与模式耦合分析的实战方法。通过Rsoft仿真,可以高效优化光栅周期、包层厚度等关键参数,深入分析纤芯模与包层模的耦合特性,为光纤通信和传感应用提供可靠的设计依据。

h0i1j2k3l的博客 1115

python基于pingouin统计分析:rm_corr计算两个变量之间的重复测量相关性(Repeated measures correlation、plot_rm_corr函数可视化重复测量相关性图

python基于pingouin包进行统计分析:使用rm_corr函数计算两个变量之间的重复测量相关性(Repeated measures correlation)、plot_rm_corr函数可视化重复测量相关性图

statistics+insight+vista+power 680

ESP32-S3实战笔记:从环境搭建到边缘AI应用

在物联网与边缘计算快速普及的当下,MCU不再仅仅承担简单的控制任务,而是逐渐成为具备联网和本地智能处理能力的边缘节点。ESP32-S3作为乐鑫推出的一款双核Wi-Fi+BLE微控制器,凭借240MHz高主频、AI向量指令以及大容量PSRAM扩展能力,为开发者提供了一个兼顾无线连接与轻量级AI推理的硬件平台。其原生USB、丰富外设接口和灵活的GPIO矩阵,也大幅降低了嵌入式原型搭建的门槛。无论是智能家居中的传感器采集、MQTT设备上云,还是基于摄像头的图像分类与语音关键词识别,ESP32-S3都能在低成本下完

weixin_34216614的博客 197

CloudCompare 二次开发(16)——计算点云最值

不依赖任何第三方点云相关库,使用ClopudCompare计算点云最值。

点云侠的博客 518

小白也能懂:ESP32S3引脚图图解指南

平台的一键部署功能让交互式演示可以立即在线运行,我测试时发现加载速度很快,操作界面也很直观。作为一个刚接触物联网开发的小白,我最初看到ESP32S3密密麻麻的引脚时完全摸不着头脑,直到发现了这种可视化的学习方法,才真正理解了引脚功能。我把ESP32S3的引脚按照功能划分成了几个彩色区块:红色是电源区(包含3.3V、GND等)、蓝色是GPIO区、绿色是通信接口区(I2C、SPI等)。建议刚开始接触硬件的同学可以先玩转这个交互项目,等熟悉了引脚功能再动手实操,能少走很多弯路。这个项目最棒的地方是可以在。

SnowflakeJaguar14的博客 809

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

ESP32-S3的SPI接口

串行外设接口 (SPI) 是一种同步串行接口,可用于与外围设备进行通信。ESP32-S3 芯片集成了四个 SPI 控制器:• SPI0• SPI1• 通用 SPI2,即 GP-SPI2• 通用 SPI3,即 GP-SPI3SPI0 和 SPI1 控制器主要供内部使用以访问外部 flash 及 PSRAM。

易板 1万+

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

ESP32S3系列--SPI主机驱动详解(一)

SPI主机驱动详解(一)

coderma的博客 1万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

上一篇: ESP32S3学习——i2c,点亮0.96寸oled
下一篇: ESP32S3学习——spi_lcd_ILI9341
HandBAI
博客等级 码龄5年 27粉丝 23原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值