# arduino-notes **Repository Path**: coyoooo/arduino-notes ## Basic Information - **Project Name**: arduino-notes - **Description**: arduino-notes - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-04-30 - **Last Updated**: 2025-10-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: Arduino, ESP32, stm32 ## README # Arduino 开发详细入门文档

image-202556273505.png

## 一、ESP32 简介 ESP32 是由 Espressif 公司发展的高性能 Wi-Fi + Bluetooth 联合型单片机,充分支持 Arduino 开发,适合初学者快速开始连接规划设备。 `ESP32 特点:` - 支持 2.4GHz Wi-Fi & Bluetooth - 多核 CPU (Xtensa Dual-core) - 高速 GPIO / ADC / DAC / PWM / UART / SPI / I2C 等多种外设 - 内存和 Flash 足够开发应用 ## 二、安装 ESP32 Arduino 开发环境 ### 1. 安装 Arduino IDE `软件下载` :https://www.arduino.cc/en/software `开发环境` :支持 Windows/macOS/Linux ### 2. 配置 ESP32 开发板支持 1. 打开 IDE 后,点击 **File > Preferences** 2. 在 **Additional Board Manager URLs** 增加: ``` https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json ``` esp32开发板国内镜像: ```c https://jihulab.com/esp-mirror/espressif/arduino-esp32/-/raw/gh-pages/package_esp32_index_cn.json ``` 3. 打开 **Tools > Board > Boards Manager** 4. 搜索 `esp32`,安装 Espressif Systems 插件 ### 3. 选择开发板 - 进入 **Tools > Board**,选择 "ESP32 Dev Module" - 通过 **Tools > Port** 选择与板子连接的 COM端口 ## 三、创建工程 ### 1、PlatformIO `安装插件`

image-2025611029428.png

`新建工程`

image-2025611127407.png

`命名工程 -> 选择芯片 -> 选择开发模式 -> 工程保存位置` `注意:` 保存位置不能有中文,否则编译报错!!!

image-2025611431963.png

`工程结构`

image-2025612632341.png

### 2、PIO配置详情 ```c [env:esp32dev] platform = espressif32@6.12.0 board = esp32dev ;框架设置 framework = arduino ;串口监视器波特率 monitor_speed = 115200 ;上传端口 upload_port = COM1 ;程序下载速率 upload_speed = 921600 ;依赖库 lib_deps = fastled/FastLED@^3.10.1 ;设置USB打印 build_flags = -D ARDUINO_USB_CDC_ON_BOOT=1 -D ARDUINO_USB_MODE=θ build_unflags = -DARDUINO_USB_MODE=1 ;默认分区表 board_build.partitions = no_ota.csv ; 设置 CPU 主频为 240 MHz board_build.f_cpu = 240000000L ```

image-20251030035576.png

👉`自定义分区表` 在项目根目录创建 `partitions.csv` 文件 ```c # Name, Type, SubType, Offset, Size, Flags nvs, data, nvs, 0x9000, 0x5000, otadata, data, ota, 0xe000, 0x2000, app0, app, ota_0, 0x10000, 0x200000, spiffs, data, spiffs, 0x210000, 0x1EF000, ```

image-20251030410120.png

`在代码中动态修改频率(运行时修改)` ```c #include "esp_pm.h" #include "esp_system.h" void setup() { Serial.begin(115200); // 将 CPU 频率设置为 240 MHz setCpuFrequencyMhz(240); Serial.print("Current CPU Freq: "); Serial.print(getCpuFrequencyMhz()); Serial.println(" MHz"); } void loop() { } ``` 📌可用函数: ```c setCpuFrequencyMhz(80); setCpuFrequencyMhz(160); setCpuFrequencyMhz(240); ``` 📌查看当前频率: ```c uint32_t freq = getCpuFrequencyMhz(); ``` ```c ; 设置 Flash 频率为 80 MHz board_build.f_flash = 80000000L ```

image-20251030830514.png

📙 配合 Flash 模式一起使用(可选) 有时候你还会看到 `board_build.flash_mode` 一起设置: ```c board_build.flash_mode = qio board_build.f_flash = 80000000L ```

image-20251030132842.png

📌`推荐稳定组合` ```c ; CPU 主频与 Flash 频率配置 board_build.f_cpu = 240000000L board_build.f_flash = 80000000L board_build.flash_mode = qio ``` 🗒️ `启用 PSRAM` ```c ; 启用 PSRAM 并设置为 OPI 模式 board_build.psram = enabled board_build.psram_mode = opi board_build.psram_size = 8MB ```