一、前言

最近使用ESP32 WROOM开发语音识别项目时,需要使用阵列麦克风采集信号,并进行切片取出含有语音部分的片段,进而使用base64编码将语音上传到后端服务器进行识别。

在项目开发时,发现虽然ESP32 WROOM有520KB的SRAM,但是还是无法满足语音识别的需求。

查找资料后,发现ESP32-S3N16R8带有8MB的PSRAM,下面记录ESP32-S3 PSRAM的配置与测试方法。

二、配置方法

ESP32-S3的开发板配置见之前的一篇笔记。

在Arduino IDE中配置完开发板后,还需要手动开启PSRAM功能,否则调用相关函数时会导致ESP32-S3无限重启。

  1. 打开Arduino IDE

  2. 选择项目-PSRAM-OPI PSRAM

  3. 使用以下代码进行测试

#include <Arduino.h>
#include <Ticker.h>
#include <esp_heap_caps.h>// attach a LED to pPIO 21
#define LED_PIN 21Ticker blinker;
Ticker toggler;
Ticker changer;
float blinkerPace = 0.1;  //seconds
const float togglePeriod = 5; //secondsvoid change() {blinkerPace = 1.5;
}void blink() {digitalWrite(LED_PIN, !digitalRead(LED_PIN));
}void toggle() {static bool isBlinking = false;if (isBlinking) {blinker.detach();isBlinking = false;}else {blinker.attach(blinkerPace, blink);isBlinking = true;}digitalWrite(LED_PIN, LOW);  //make sure LED on on after toggling (pin LOW = led ON)
}void setup() {pinMode(LED_PIN, OUTPUT);toggler.attach(togglePeriod, toggle);changer.once(30, change);Serial.begin(115200);Serial.println("hello esp32");Serial.println(ESP.getFreeHeap());Serial.print("befor alloc:");Serial.println(heap_caps_get_free_size( MALLOC_CAP_SPIRAM ));void* ptrVal = NULL;ptrVal = heap_caps_malloc(1000, MALLOC_CAP_SPIRAM);char* sz_ptr = (char*)ptrVal;sprintf(sz_ptr, "%s", "hello spi ram..................\n");Serial.print(sz_ptr);Serial.print("after alloc:");Serial.println(heap_caps_get_free_size( MALLOC_CAP_SPIRAM ));heap_caps_free(ptrVal);sz_ptr = NULL;Serial.print("after release:");Serial.println(heap_caps_get_free_size( MALLOC_CAP_SPIRAM ));
}void loop() {}
  1. 打开工具-串口监视器,使用RST按键重启ESP32-S3
  2. 观察串口监视器输出

    可以看出,使用PSRAM后,RAM扩大到了8M左右

【ESP32 S3开发】在Arduino IDE中使用PSRAM相关推荐

  1. 【物联网(IoT)开发】Arduino IDE的工具开发板菜单中找到我的开发板型号怎么办?

    Arduino IDE的工具>开发板菜单中找到我的开发板型号怎么办? 最近刚买的 WeMos D1 WiFi Arduino UNO 开发板ESP8266 连接电脑后,驱动也安装成功了,但是在A ...

  2. Wio RP2040无线WiFi迷你开发板Arduino IDE开发环境安装与使用基础

    Arduino IDE作为一种开源硬件开发软件工具,目前拥有很好的应用生态和众多的用户,本文介绍Wio RP2040无线WiFi迷你开发板Arduino IDE环境安装与设置,并给出采用Arduino ...

  3. 【RISC-V】Hifive1开发板在Arduino IDE中的配置方法

                                                        . 操作系统: 建议使用Ubuntu 16.04 LTS,据说这是设计Hifive1开发板的公司 ...

  4. 安装 Arduino IDE 中STM32 软件包,ESP8266软件包

    简 介: 搜集了更多的基于Arduino生态环境的安装和使用方法. 关键词: Arduino,STM32,ESP8266 §01 安装STM32在Arduino IDE软件包 1.参考文献1 参照推文 ...

  5. ESP8266 初级开发物联网--Arduino IDE+点灯科技

    买来芯片背后有芯片的型号,和采用的驱动.我采用的是CH340驱动的ESP8266 NodeMcu. 芯片上密密麻麻的引脚我们并不是都要用到,在能力和需求范围内先不要关心太多. Serial是串口的意思 ...

  6. 【ESP32 S3 开发】基于I2S协议驱动INMP441数字麦克风 实现语音采集

    一.前言 注意INMP441的 L/R接地之后才稳定输出数据 否则一直都是0 WAV格式介绍 WAV是一种存储声音波形的数字音频格式 WAV格式说明 这里主要是想说wav文件重要的就是生成一个wavh ...

  7. esp32 s3 USB OTG Arduino可以下载固件 USB COM不可以的解决方法

    要想USB COM口下载固件, 方法就是按住boost键上电, 就能从 USB COM口用Arduino下载固件. USB OTG口可以直接下载固件.也还以为配置有问题, USB OTG USB CO ...

  8. 【arduino 问题记录】 psram: PSRAM ID read error: 0xffffffff

    问题描述:采用ESP32-s将数据通过4G模块发送到阿里云的时候,只要数据一发送,esp32-s就一直重新连接4G模块. 图一中红色框就是我要传输到阿里云的内容,蓝色框显示的就是报错信息,接下来显示的 ...

  9. 如何用Arduino IDE开发9.9元的合宙LuatOS ESP32C3开发板?

    如何用Arduino IDE开发9.9元的合宙LuatOS ESP32C3开发板? 合宙LuatOS ESP32C3-CORE开发板 简介 硬件准备 软件准备 1.安装串口驱动(CH343) 2.安装 ...

最新文章

  1. #6279. 数列分块入门 3(区间修改,查询权值前驱)
  2. Zabbix 监控Mysql 主从状态(Python脚本)
  3. 正则表达式和re模块知识点汇总
  4. php的wsgi框架结构,理解 WSGI 框架
  5. yarn、npm、cnpm三者区别
  6. IOS15 SVProgressHUD 报UIWindow 无法识别错误
  7. 【ArcGIS遇上Python】ArcGIS Python获取Shapefile矢量数据字段名称
  8. P3723-[AH2017/HNOI2017]礼物【FFT】
  9. hdu 4292 Food 最大流
  10. 腾讯牵线,美团欲37亿美元收购摩拜?
  11. pymysql 数据库操控
  12. Nginx的负载均衡 - 加权轮询 (Weighted Round Robin) 上篇
  13. Glide 4.0.0 RC0 使用详解
  14. 其实你的领导也有中年危机
  15. java连接数据库电商平台_Java数据库中台项目,电商,CMS轻松实现,包含数据库源文件...
  16. 推荐几款php探针,PHP探针推荐:检测服务器环境好帮手
  17. 不谋一时不足以谋一域_不谋万世者不足谋一时,不谋全局者不足谋一域是什么意思...
  18. layui 勾选不联动父项 树形控件_layui树形组件重现勾选过程的办法
  19. 【产业互联网周报】2019年我国软件业务收入71768亿元,同比增15.4%;亚马逊、谷歌先后发布财报,披露云计算业务增长...
  20. Ubuntu 下安装新世纪五笔输入法

热门文章

  1. 微信小程序之videoshow-fullscreen-btn失效问题
  2. win10sas安装教程_win10s是什么版本_windows10s版本的特性图文教程
  3. ubuntu20安装gdb插件gef的爬坑记录
  4. Alpha版本——展示博客【第二组】
  5. Rocketmq广播消费模式怎么扩展消费者
  6. Android 9.0系统源码_SystemUI(六)滑动锁屏的创建
  7. 【积跬步以至千里】Excel行列互换
  8. html固定单元格位置,固定表格布局
  9. 设备驱动中的并发控制-自旋锁
  10. SEO优化基础:SEO的优势与劣势