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)/