我在使用 ESP32S3 開發板時遇到透過 GPIO48 控制元件時無法做動,後來才發現,我的開發板上的 ESP32S3 是 N32R8*V*,可以從金屬遮罩上看到:
字尾的 V 表示這個模組會透過 efuse 強制將 VDD_SPI 設為 1.8V,這會影響 SPICLK_N 與 SPICLK_P,也就是 GPIO47 和 GPIO48 的工作電壓也變成 1.8V,這可以在規格書中看到以下這行:
- For ESP32-S3R8V and ESP32-S3R16V chip, as the VDD_SPI voltage has been set to 1.8 V, the working voltage for pins SPICLK_N and SPICLK_P (GPIO47 and GPIO48) would also be 1.8 V, which is different from other GPIOs.
也可以在 3.2 VDD_SPI Voltage Control 看到相關的說明。
如果是其他模組,像是以下是另外一個開發板,可以看到遮罩上標示的是 N16R8,並沒有 V 字尾:
就不會有以上問題。
如果金屬遮罩上的字看不清楚,也可以透過 esptool 工具查詢模組的 flash-id 項目得知,像這是 N32R8*V* 的模組:
> esptool --port COM16 flash-id
Warning: DEPRECATED: 'esptool.py' wrapper is deprecated. Please use 'esptool' or 'python -m esptool' instead.
esptool v5.3.1
Connected to ESP32-S3 on COM16:
Chip type: ESP32-S3 (QFN56) (revision v0.1)
Features: Wi-Fi, BT 5 (LE), Dual Core + LP Core, 240MHz, Embedded PSRAM 8MB (AP_1v8)
Crystal frequency: 40MHz
MAC: 68:b6:b3:3d:67:b4
Stub flasher running.
Flash Memory Information:
=========================
Manufacturer: c2
Device: 8039
Detected flash size: 32MB
Flash type set in eFuse: octal (8 data lines)
Flash voltage set by eFuse: 1.8V
Hard resetting via RTS pin...
你可以看到最後有一行 Flash voltage set by eFuse: 1.8V,但若是 N16R8 的這一個模組,輸出結果就會是:
PS C:\temp\test_idf\ch07> esptool --port COM15 flash-id
Warning: DEPRECATED: 'esptool.py' wrapper is deprecated. Please use 'esptool' or 'python -m esptool' instead.
esptool v5.3.1
Connected to ESP32-S3 on COM15:
Chip type: ESP32-S3 (QFN56) (revision v0.2)
Features: Wi-Fi, BT 5 (LE), Dual Core + LP Core, 240MHz, Embedded PSRAM 8MB (AP_3v3)
Crystal frequency: 40MHz
MAC: 64:e8:33:59:2b:18
Stub flasher running.
Flash Memory Information:
=========================
Manufacturer: 68
Device: 4018
Detected flash size: 16MB
Flash type set in eFuse: quad (4 data lines)
Flash voltage set by eFuse: 3.3V
Hard resetting via RTS pin...
同一行內容為 Flash voltage set by eFuse: 3.3V。
樂鑫官方開發板的 RGB 燈
如果你使用樂鑫官方的 ESP32S3 開發板,目前市面上有 1.0 版和 1.1 版,兩者差異主要在板子上內建的 WS2812 RGB 燈珠控制接腳,在 1.1 版的說明文件 Hardware Revision Details 一節有特別提到:
Both the initial and v1.1 versions of ESP32-S3-DevKitC-1 are available on the market. The main difference lies in the GPIO assignment for the RGB LED: the initial version uses GPIO48, whereas v1.1 uses GPIO38.
表示市場上可以買到兩種版本,但差異就是內建燈珠 1.0 版接在 GPIO48,但 1.1 版改接在 GPIO38,這就是為了讓有字尾 v 的模組也能正常運作,否則 GPIO48 輸出 1.8V 的訊號無法控制需要 5V 訊號的 WS2812 RGB 燈珠。
我買到的 1.1 版開發板上有明確標示 RGB 燈珠接在 GPTIO38:
如果有使用 ESP32S3,請留意上面提到的注意事項。



Top comments (0)