ESP32-S3实战指南中如何快速上手开发?
摘要:ESP32-S3-实战指南 基于立创实战派S3 参考链接:实战派开发板S3介绍 | 立创开发板技术文档中心 硬件和代码,(大部分图片)基于立创文档,在此基础上进行个人的学习记录和理解补充 硬件参数 类别 型号 参数 模组 ESP32-S3-
ESP32-S3-实战指南
基于立创实战派S3
参考链接:实战派开发板S3介绍 | 立创开发板技术文档中心
硬件和代码,(大部分图片)基于立创文档,在此基础上进行个人的学习记录和理解补充
硬件参数
类别
型号
参数
模组
ESP32-S3-WROOM-1-N16R8
搭载 Xtensa® 32 位 LX7 双核处理器,主频高达 240 MHz,内置SRAM 512kB,外置PSRAM 8MB,外置FLASH 16MB,2.4 GHz Wi-Fi (802.11 b/g/n) 40MHz带宽,Bluetooth 5 (LE) 和 Bluetooth Mesh,集成AI向量指令,加速神经网络计算和信号处理
显示屏(SPI)
ST7789
2.0寸、IPS全视角、分辨率320*240、SPI接口
(触摸屏(I2C))
FT6336
电容触摸、I2C接口
姿态传感器(I2C)
QMI8658
三轴加速度+三轴陀螺仪、I2C接口
音频DAC(I2C)
ES8311
单通道、I2C接口
音频ADC(I2C)
ES7210
四通道(开发板用三个通道)、I2C接口
音频功放
NS4150B
单声道D类音频放大器
麦克风
ZTS6216
配套双路麦克风、模拟输出
喇叭
DB1811AB50
1811音腔喇叭、1W
USB HUB
CH334F
USB2.0 HUB
USB转串口
CH340K
波特率最大2Mbps
电源芯片
SY8088AAC
提供双路、每路1A
GH1.25接口
两路外拓传感器接口,可以给外部传感器供电5V和3.3V,可以作为GPIO、CAN、I2C、UART、PWM等接口
TF卡接口(1-SD)
采用1-SD模式与ESP32连接
Type-C接口
用于供电、程序下载、程序调试,以及USB数据通信
按键
一个复位按键、一个用户自定义按键
代码框架:
使用乐鑫官方移植的实时操作系统FreeRTOS
依托乐鑫官方封装的底层函数
用户通过调用乐鑫提供的API函数即可实现绝大部分功能
基础例程
点灯:
#include <stdio.h> // 引入标准输入输出库,用于基本的输入输出操作
#include "freertos/FreeRTOS.h" // 引入FreeRTOS库,用于实时操作系统相关的功能
#include "driver/gpio.h" // 引入GPIO驱动库,用于控制GPIO引脚
#include "freertos/task.h" // 引入任务管理库,用于创建和管理任务
void app_main(void)
{
gpio_reset_pin(10);
gpio_set_direction(10, GPIO_MODE_OUTPUT);
while (1)
{
gpio_set_level(10, 0);
vTaskDelay(1000 / portTICK_PERIOD_MS);
gpio_set_level(10, 1);
vTaskDelay(1000 / portTICK_PERIOD_MS);
/* code */
}
}
要点:引入FreeRTOS库,freertos任务管理库,GPIO驱动库
freertos任务创建,GPIO驱动
中断按键
#include <stdio.h> // 引入标准输入输出库,用于输入输出操作
#include <string.h> // 引入字符串处理库,用于字符串操作
#include <stdlib.h> // 引入标准库,用于内存分配、控制进程等
#include <inttypes.h> // 引入固定宽度整数类型库,用于确保整数类型的宽度
// 引入FreeRTOS相关库
#include "freertos/FreeRTOS.h" // 引入FreeRTOS内核相关定义
#include "freertos/task.h" // 引入任务管理相关定义
#include "freertos/queue.h" // 引入队列管理相关定义
// 引入ESP-IDF的GPIO驱动库
#include "driver/gpio.h" // 引入GPIO驱动相关定义,用于GPIO操作
void key_Init(void)//key-->GPIO
