- 博客(5)
- 收藏
- 关注
原创 ESP32-IDF中spi_bus_dma_memory_alloc函数的用法
这个函数用于为 SPI 主机(SPI Host)分配一块可用于 DMA 传输的内存 buffer,这个函数只是“开辟一块 DMA 可用的内存”,至于给 TX 用还是给 RX 用,由用户决定。普通的buffer一般存在栈中,而DMA buffer是专门在SRAM中开辟的一块连续的堆 空间,提供给DMA访问,以避免CPU和DMA同时访问一块内存空间造成冲突。在 ESP-IDF 5.x(尤其 5.1+)中,SPI DMA 的内存分配被统一为。不再提供独立的 spi_bus_dma_memory_alloc()。
2025-12-02 14:46:35
104
原创 RAM、ROM、Flash、Register、Cache详解
本文详细介绍了计算机存储系统的分类与特性。RAM分为SRAM(静态随机存取存储器)和DRAM(动态随机存取存储器),前者无需刷新但成本高,后者需要周期性刷新但容量大。SRAM因其高速特性常用于堆栈、DMA缓冲区等场景,而DRAM主要用于大容量存储。ROM方面则包括MaskROM、PROM、EPROM、EEPROM和Flash等非易失性存储器,其中NOR Flash支持随机访问适合存储程序,NAND Flash容量大适合存储数据。此外还介绍了寄存器、Cache和SD卡等存储组件的工作原理及应用场景。
2025-12-02 14:45:16
1469
原创 ESP-SPI-API合集-简略版
属于#include “driver/spi_common.h”属于#include “driver/spi_master.h”属于#include “driver/spi_common.h”属于#include “driver/spi_master.h”属于#include “driver/spi_common.h”属于#include “driver/spi_master.h”属于#include “driver/spi_common.h”属于#include “hal/spi_types.h”
2025-12-01 14:59:07
137
原创 GPIO的IDR寄存器、ODR寄存器以及BSRR寄存器
每个GPIO端口对应一个IDR寄存器(如GPIOA一个IDR寄存器,GPIOB又一个寄存器),而每一个GPIO引脚(如GPIO_PIN_0)对应IDR寄存器的一位,IDR寄存器的位值对应该引脚的电平【0-0(逻辑低),1-1(逻辑高)】例如STM32为32位的处理器,其数据总线宽度、寄存器宽度和指令集都是32位的,故其IDR寄存器也是32位的。如果 GPIO 端口支持 16 个引脚(例如 GPIOA),0x2000。
2025-01-10 16:14:21
1987
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
4