PSRAM就是伪SRAM,内部内存颗粒跟SDRAM颗粒比较相似,但外部接口跟SDRAM不同,不需要SDRAM那样复杂控制器和刷新机制,PSRAM接口跟SRAM接口是一样。psram内部自带刷新机制。PSRAM也由初期平行接口发展到串行接口,由SPI、Quad SPI (QPI) 和Octal SPI (OPI)几种串行接口,用于需要小型化场合,能够提供带宽范围从100Mbps ~
一、概念 相关内容参考乐鑫文档 ①项目: 特指一个目录,其中包含了构建可执行应用程序所需全部文件和配置,以及其他支持型文件,例如分区表、数据/文件系统分区和引导程序。②项目配置: 保存在项目根目录下名为 sdkconfig 文件中,可以通过 idf.py menuconfig 进行修改,且一个项目只能包含一个项目配置。③应用程序: 是由 ESP-IDF 构建得到可执行文件。一个项目通常会构
嵌入式编程中 attribute 到底是什么相信阅读嵌入式代码老铁经常看到一些类型定义、变量、函数有 attribute 标识符,这个标识符号到底是做什么?有哪些用法,咱们今天就来聊一聊。attribute 可以指定编译时细节。其可作用于变量、函数、结构体、结构体成员。 值注意是,Attributes 机制并不是 C标准 一部分。因此,使用 Attributes 程序有时候不可跨编
外部 RAM外部 RAM介绍硬件软件限制芯片版本ESP32 rev v0ESP32 rev v1参考资料 外部 RAM介绍ESP32 有几百 KiB 内部 RAM,与 ESP32 其余部分位于同一个芯片上。 出于某些目的,这是不够,因此ESP32还能够使用高达 4MB 外部 SPI RAM 存储器作为存储器。 外部存储器包含在存储器映射中,并且在某些限制内,可以与内部数据 RAM 相同
1.ST7789驱动(见文末 参考资料[2])2. 电路图(详细电路图略)去掉CH340K下载电路,用串口转TTL下载工具下载;去掉按键设置显示动画,重启配网等操作;3.内存修改项目使用了 2880030 字节,占用了 (219%) 程序存储空间。最大为 1310720 字节。 全局变量使用了45016字节,(13%)动态内存,余留282664字节局部变量。最大为327680字节。 项目太大
    这两天在调试即将完成Hands Free ProfileAG部分代码,在调试与HF Client设备收发AT指令部分时遇到了AT+CNUM指令HF Client端 “解析AT指令错误”提示。由于HFP中,AT指令参数都是存放在字符串中进行收发,字符串解析就至关重要,而在解掉bug同时,我也在不断地学习。本文便介绍一个在HF Client端利用sscanf()
Arduino ESP32 flash数据存储结构?分区表官方文档:《分区表》✨想了解ESP32 flash数据存储结构需要从分区表开始了解。一点类似一台电脑上挂载硬盘一样。分区表保存 SPI flash 各区信息,包括引导程序、各种应用程序二进制文件、数据及文件系统等/*在Arduino环境中使用flash布局 |----|-------|--------|-------|------
ESP32开发之路(3)— 点亮第一个LED灯及按键输入本次开发是在Ubuntu下,使用模块是GOOUUU-ESP32,使用VSCode编辑项目。基于工程:ESP32开发之路(2)— HelloWorld工程分析和优化一、点亮第一个LED灯复制hello_world文件并命名为led_key,修改hello_world_main.c为app_main.c; 然后将工作区保存在led_key文件
      调用函数pxPortInitialiseStack()初始化任务堆栈,并将最新栈顶指针赋值给任务TCBpxTopOfStack字段。      调用函数pxPortInitialiseStack()后,相当于执行了一次系统节拍时钟中断:将一些重要寄存器入栈。虽然任务还没开始执行,也并没有中断发
目录整体框图(草稿版)整体流程图(草稿版)esp32-WIFI状态机esp_wifi.h depict WiFi programming modeltcp-clientGPIO ESP-IDF 编程指南 整体框图(草稿版)整体流程图(草稿版)esp32-WIFI状态机WiFi-startWiFi-event-machine用户自定义状态机回调函数回调函数作为形参方式传递给esp_event_l
提示:好记性不如烂笔头。本博客作为学习笔记,有错误地方希望指正 文章目录前言:一、任务延时vTaskDelay()二、任务延时vTaskDelayUntil()三、任务延时xTaskDelayUntil()四、获取任务优先级uxTaskPriorityGet()五、任务优先级设置vTaskPrioritySet()六、任务挂起vTaskSuspend()七、任务恢复vTaskResume()八、
MicroPython是为了在嵌入式系统中运行Python 3编程语言而设计轻量级版本解释器。与常规Python相比,MicroPython解释器体积小(仅100KB左右),通过编译成二进制Executable文件运行,执行效率较高。它使用了轻量级垃圾回收机制并移除了大部分Python标准库,以适应资源限制微控制器。MicroPython主要特点包括: 1、语法和功能与标准Python兼容
1.DAC基础大多数STM32芯片会自带DAC输出模块(12 位数字输入,电压输出型 DAC)例如常用STM32F103RCT6 ( RAM48K  FLASH 256K),芯片DAC有两个输出通道本次实验使用单 DAC 通道 1,采用 12 位右对齐格式输出。 STM32F103 参考手册P185:DAC过程,简要概括为:给DAC_DORx寄存器赋值,然后DAC模块处理
stack corruption:栈摧毁错误此类错误一般是数组越界造成。 segmentation fault:段错误 一般有以下原因容易造成段错误:   1)指针:       指针为空"NULL",或者指针未初始化就使用,指针使用完后未释放  2)内存(超出分配内存空间):   
文章目录前言一、定时器二、定时器函数三、定时器配置步骤四、VSCode添加头文件总结 前言提示:以下是本篇文章正文内容一、定时器 ESP32 芯片包含两个定时器组,每组有两个通用定时器。它们都是基于 16 位预分频器和 64 位自动重载功能向上/向下计数器 64 位通用定时器二、定时器函数(1)timerBegin初始化(开启)定时器hw_timer_t * IRAM_ATTR t
1,启用 外部RAM勾选 Support for external, SPI-connected RAM 如下图2,配置说明1,选择 外部RAM 类型(见下图) 这个要根据自己板子选择, ESP32支持外部RAM有限. 不清楚 选择 自动检测2, 设置 外部RAM 时钟速度(见下图) 勾选40M即可官方解释:选择SPI RAM芯片速度。如果SPI RAM被启用,我们只支持现在支持三种
这个实验功能是使用乐鑫提供 nvs 库去对 spi flash 读写。 这个实验代码为工程“3_9_nvs”目录。3.9.1. 实验内容(1) 学习 NVS 库函数接口 (2) 学习 NVS 存储/读取多种类型数据3.9.2. ESP32 NVS 功能介绍NVS总的来说,就是非易失性存储,类似MCU EEPROM,但实际上调用ESP32这些函数,数据是存储在FLASH中。它管理方式类似
访问以下链接可下载有关 ESP32 文档资料https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_cn.pdfESP32ESP23硬件资源ESP32 是集成 2.4 GHz Wi-Fi 和蓝牙双模单芯片方案,采用台积电(TSMC)超低功耗 40 纳米工艺,拥有最佳功耗性能、射频性能、稳定性、
在EPS32中已经将EEPROM弃用。对于ESP32新应用程序,建议使用NVS为首选项。 EEPROM前言弃用。对于ESP32新应用程序,建议使用NVS为首选项。提供EEPROM是为了向后兼容现有的Arduino应用程序。EEPROM是使用NVS中单个blob实现,因此它是容器(Flash)中容器(NVS)(弟中弟)。因此,它不会是一种高性
目录1、任务通知(Task Notifications)概念1.1 概念1.2 使用任务通知优势1.3 无法使用任务通知场景2、使用任务通知2.1 xTaskNotifyGive()2.2 ulTaskNotifyTake()2.3 使用任务通知代替信号量,方法12.4 使用任务通知代替信号量,方法22.5 xTaskNotify() 与 xTaskNotifyFromISR()2.6 xT
  • 1
  • 2
  • 3
  • 4
  • 5