ESP-IDF 例程——外设

20. peripherals 目录

20.1 gpio/generic_gpio 例程

字段 描述
例程名称 gpio/generic_gpio
所在文件夹路径 examples\peripherals\gpio\generic_gpio
核心功能说明 演示GPIO的基本配置和中断使用方法。实现了GPIO输出配置、GPIO输入配置(带上拉电阻)、上升沿和下降沿中断处理等功能。
主要调用的内部/外部函数或模块 - app_main():程序入口函数
- gpio_config():配置GPIO
- gpio_set_level():设置GPIO输出电平
- gpio_install_isr_service():安装GPIO中断服务
- gpio_isr_handler_add():添加GPIO中断处理函数
- gpio_example_task():生成GPIO脉冲的任务
输入输出参数说明 输入:
- GPIO输入引脚的外部信号

输出:
- GPIO输出引脚的脉冲信号
- 中断触发日志信息
适用场景及典型应用案例 适用于:
- 学习GPIO的基本配置和使用
- 了解GPIO中断的处理方法
- 开发需要GPIO控制的应用
- 实现按钮输入、LED输出等基本外设控制
- 作为GPIO应用的参考模板

20.2 i2c/i2c_basic 例程

字段 描述
例程名称 i2c/i2c_basic
所在文件夹路径 examples\peripherals\i2c\i2c_basic
核心功能说明 演示I2C主机的基本操作。实现了I2C总线初始化、I2C设备地址探测、寄存器读写等功能。
主要调用的内部/外部函数或模块 - app_main():程序入口函数
- i2c_master_init():初始化I2C主机
- i2c_master_sensor_detect():探测I2C设备
- i2c_master_register_write_byte():写入单个字节到寄存器
- i2c_master_register_read_byte():从寄存器读取单个字节
- i2c_master_register_read():从寄存器读取多个字节
输入输出参数说明 输入:
- I2C设备地址
- 寄存器地址
- 要写入的数据

输出:
- 探测到的I2C设备
- 从设备读取的数据
适用场景及典型应用案例 适用于:
- 学习I2C总线的基本使用
- 了解I2C主机的实现方法
- 开发需要I2C通信的应用
- 连接I2C传感器、OLED显示屏等设备
- 作为I2C应用的参考模板

20.3 ledc/ledc_basic 例程

字段 描述
例程名称 ledc/ledc_basic
所在文件夹路径 examples\peripherals\ledc\ledc_basic
核心功能说明 演示LED PWM控制器(LEDC)的基本使用。实现了LEDC通道初始化、PWM波形生成、占空比调整等功能。
主要调用的内部/外部函数或模块 - app_main():程序入口函数
- ledc_timer_config():配置LEDC定时器
- ledc_channel_config():配置LEDC通道
- ledc_set_duty():设置LEDC占空比
- ledc_update_duty():更新LEDC占空比
- ledc_example_task():调整占空比的任务
输入输出参数说明 输入:
- 定时器配置参数(频率、分辨率)
- 通道配置参数(GPIO引脚、速度模式)
- 占空比数值

输出:
- PWM波形输出
- 占空比变化日志
适用场景及典型应用案例 适用于:
- 学习LEDC PWM控制器的使用
- 了解PWM波形的生成方法
- 开发需要PWM控制的应用
- 实现LED亮度调节、电机速度控制等
- 作为LEDC应用的参考模板

20.4 rmt/led_strip 例程

字段 描述
例程名称 rmt/led_strip
所在文件夹路径 examples\peripherals\rmt\led_strip
核心功能说明 演示如何使用RMT(Remote Control)外设控制WS2812等LED灯带。实现了RMT通道初始化、LED数据编码、颜色设置等功能。
主要调用的内部/外部函数或模块 - app_main():程序入口函数
- rmt_config():配置RMT通道
- rmt_driver_install():安装RMT驱动
- led_strip_encoder_init():初始化LED数据编码器
- rmt_translator_init():初始化RMT转换器
- rmt_write_items():发送RMT数据
- led_strip_set_pixel():设置LED像素颜色
输入输出参数说明 输入:
- LED像素索引
- RGB颜色值

输出:
- LED灯带颜色变化
适用场景及典型应用案例 适用于:
- 学习RMT外设的使用
- 了解LED灯带的控制原理
- 开发LED灯带应用
- 实现彩色灯光效果、装饰照明等
- 作为RMT应用的参考模板

20.5 spi/spi_master 例程

字段 描述
例程名称 spi/spi_master
所在文件夹路径 examples\peripherals\spi\spi_master
核心功能说明 演示SPI主机的基本操作。实现了SPI总线初始化、全双工通信、半双工通信、DMA传输等功能。
主要调用的内部/外部函数或模块 - app_main():程序入口函数
- spi_bus_initialize():初始化SPI总线
- spi_device_add():添加SPI设备
- spi_device_transmit():传输SPI数据
- spi_device_queue_trans():队列方式传输SPI数据
- spi_device_get_trans_result():获取传输结果
输入输出参数说明 输入:
- SPI设备配置(时钟频率、模式、CS引脚)
- 要发送的数据

输出:
- 从SPI设备接收的数据
- 传输状态信息
适用场景及典型应用案例 适用于:
- 学习SPI总线的基本使用
- 了解SPI主机的实现方法
- 开发需要SPI通信的应用
- 连接SPI显示屏、Flash芯片、传感器等设备
- 作为SPI应用的参考模板

ESP-IDF 例程——外设
https://blog.zhaosn.top/ESP32-examples/20.peripherals(WIP)/
作者
Zhao SN
发布于
2026年1月21日
更新于
2026年1月21日
许可协议