Merge branch 'feature/esp32p4_gpio_support' into 'master'
feat(gpio): add support for ESP32P4 Closes IDF-6509 See merge request espressif/esp-idf!24868
This commit is contained in:
@@ -58,11 +58,18 @@ GPIO 汇总
|
||||
|
||||
{IDF_TARGET_NAME} 支持输入引脚的硬件迟滞,这可以减少由于输入电压在逻辑 0、1 临界值附近时采样不稳定造成的 GPIO 中断误触,尤其是当输入逻辑电平转换较慢,电平建立时间较长时。
|
||||
|
||||
每个引脚可以独立启用迟滞功能。默认情况下,它由 eFuse 控制,且处于关闭状态,但也可以由软件控制启用或禁用。您可以通过配置 :cpp:member:`gpio_config_t::hys_ctrl_mode` 来选择迟滞控制模式。
|
||||
.. only:: SOC_GPIO_SUPPORT_PIN_HYS_CTRL_BY_EFUSE
|
||||
|
||||
.. note::
|
||||
每个引脚可以独立启用迟滞功能。默认情况下,它由 eFuse 控制,且处于关闭状态,但也可以由软件控制启用或禁用。您可以通过配置 :cpp:member:`gpio_config_t::hys_ctrl_mode` 来选择迟滞控制模式。迟滞控制模式会和其余 GPIO 配置一起在 :cpp:func:`gpio_config` 中生效。
|
||||
|
||||
当迟滞功能由 eFuse 控制时,仍然可以独立的控制每个引脚的该功能,您需要 `烧断 eFuse <https://docs.espressif.com/projects/esptool/en/latest/esp32/espefuse/index.html>`_ ,以在特定 GPIO上 启用迟滞功能。
|
||||
|
||||
.. note::
|
||||
|
||||
当迟滞功能由 eFuse 控制时,仍然可以独立的控制每个引脚的该功能,您需要 `烧断 eFuse <https://docs.espressif.com/projects/esptool/en/latest/esp32/espefuse/index.html>`_ ,以在特定 GPIO上 启用迟滞功能。
|
||||
|
||||
.. only:: not SOC_GPIO_SUPPORT_PIN_HYS_CTRL_BY_EFUSE
|
||||
|
||||
每个引脚可以独立启用迟滞功能。默认情况下,它处于关闭状态。您可以通过配置 :cpp:member:`gpio_config_t::hys_ctrl_mode` 来选择启用与否。迟滞控制模式会和其余 GPIO 配置一起在 :cpp:func:`gpio_config` 中生效。
|
||||
|
||||
|
||||
应用示例
|
||||
|
||||
@@ -64,11 +64,11 @@
|
||||
- Strapping 管脚,RTC
|
||||
|
||||
* - GPIO10
|
||||
- 模拟比较器外部参考电压
|
||||
- ANA_CMPR_CH0 外部参考电压
|
||||
- RTC
|
||||
|
||||
* - GPIO11
|
||||
- 模拟比较器同相输入
|
||||
- ANA_CMPR_CH0 同相输入
|
||||
- RTC
|
||||
|
||||
* - GPIO12
|
||||
@@ -141,7 +141,6 @@
|
||||
- SPI0/1: GPIO15-21 通常用于 SPI flash, 不推荐用于其他用途。
|
||||
- USB-Serial-JTAG: GPIO26 和 GPIO27 默认用于 USB-Serial-JTAG。用做 GPIO 时驱动程序将禁用 USB-Serial-JTAG。
|
||||
- 对于合封了 flash 的芯片型号, GPIO15 ~ GPIO21 专门用于连接该 flash, 并未引出至芯片管脚。且 GPIO6 ~ GPIO7 也未引出至芯片管脚,用户不可用。用户可配置使用其他剩余的 19 个 GPIO 管脚, 编号为: GPIO0 ~ GPIO5、GPIO8 ~ GPIO14、GPIO22 ~ GPIO27。
|
||||
- 对于未合封 flash 的芯片型号, 除了以上提到的给 Flash 专用的 GPIO 以外, GPIO22 也并未引出至芯片管脚,用户不可用。
|
||||
- RTC:GPIO7-14 可用于将芯片从 Deep-sleep 模式中唤醒,其他 GPIO 仅能将芯片从 Light-sleep 模式中唤醒。更多信息请参考 :ref:`唤醒源<api-reference-wakeup-source>` 章节。
|
||||
|
||||
---
|
||||
|
||||
@@ -0,0 +1,317 @@
|
||||
.. This file gets included from other .rst files in this folder.
|
||||
.. It contains target-specific snippets.
|
||||
.. Comments and '---' lines act as delimiters.
|
||||
..
|
||||
.. This is necessary mainly because RST doesn't support substitutions
|
||||
.. (defined in RST, not in Python) inside code blocks. If that is ever implemented,
|
||||
.. These code blocks can be moved back to the main .rst files, with target-specific
|
||||
.. file names being replaced by substitutions.
|
||||
|
||||
.. gpio-summary
|
||||
|
||||
{IDF_TARGET_NAME} 芯片具有 57 个物理 GPIO 管脚(GPIO0 ~ GPIO56)。
|
||||
|
||||
每个管脚都可用作一个通用 IO,或连接一个内部的外设信号。通过 GPIO 交换矩阵和 IO MUX,可配置外设模块的输入信号来源于任何的 IO 管脚,并且外设模块的输出信号也可连接到任意 IO 管脚。这些模块共同组成了芯片的 IO 控制。更多详细信息,请参阅 *{IDF_TARGET_NAME} 技术参考手册* > *IO MUX 和 GPIO 矩阵(GPIO、IO_MUX)* [`PDF <{IDF_TARGET_TRM_CN_URL}#iomuxgpio>`__]。
|
||||
|
||||
下表提供了各管脚的详细信息,部分 GPIO 具有特殊的使用限制,具体可参考表中的注释列。
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
:widths: 8 12 12 20
|
||||
|
||||
* - GPIO
|
||||
- 模拟功能
|
||||
- LP GPIO
|
||||
- 注释
|
||||
|
||||
* - GPIO0
|
||||
-
|
||||
- LP_GPIO0
|
||||
-
|
||||
|
||||
* - GPIO1
|
||||
-
|
||||
- LP_GPIO1
|
||||
-
|
||||
|
||||
* - GPIO2
|
||||
- TOUCH0
|
||||
- LP_GPIO2
|
||||
-
|
||||
|
||||
* - GPIO3
|
||||
- TOUCH1
|
||||
- LP_GPIO3
|
||||
-
|
||||
|
||||
* - GPIO4
|
||||
- TOUCH2
|
||||
- LP_GPIO4
|
||||
-
|
||||
|
||||
* - GPIO5
|
||||
- TOUCH3
|
||||
- LP_GPIO5
|
||||
-
|
||||
|
||||
* - GPIO6
|
||||
- TOUCH4
|
||||
- LP_GPIO6
|
||||
-
|
||||
|
||||
* - GPIO7
|
||||
- TOUCH5
|
||||
- LP_GPIO7
|
||||
-
|
||||
|
||||
* - GPIO8
|
||||
- TOUCH6
|
||||
- LP_GPIO8
|
||||
-
|
||||
|
||||
* - GPIO9
|
||||
- TOUCH7
|
||||
- LP_GPIO9
|
||||
-
|
||||
|
||||
* - GPIO10
|
||||
- TOUCH8
|
||||
- LP_GPIO10
|
||||
-
|
||||
|
||||
* - GPIO11
|
||||
- TOUCH9
|
||||
- LP_GPIO11
|
||||
-
|
||||
|
||||
* - GPIO12
|
||||
- TOUCH10
|
||||
- LP_GPIO12
|
||||
-
|
||||
|
||||
* - GPIO13
|
||||
- TOUCH11
|
||||
- LP_GPIO13
|
||||
-
|
||||
|
||||
* - GPIO14
|
||||
- TOUCH12
|
||||
- LP_GPIO14
|
||||
-
|
||||
|
||||
* - GPIO15
|
||||
- TOUCH13
|
||||
- LP_GPIO15
|
||||
-
|
||||
|
||||
* - GPIO16
|
||||
- ADC1_CH0
|
||||
-
|
||||
-
|
||||
|
||||
* - GPIO17
|
||||
- ADC1_CH1
|
||||
-
|
||||
-
|
||||
|
||||
* - GPIO18
|
||||
- ADC1_CH2
|
||||
-
|
||||
-
|
||||
|
||||
* - GPIO19
|
||||
- ADC1_CH3
|
||||
-
|
||||
-
|
||||
|
||||
* - GPIO20
|
||||
- ADC1_CH4
|
||||
-
|
||||
-
|
||||
|
||||
* - GPIO21
|
||||
- ADC1_CH5
|
||||
-
|
||||
-
|
||||
|
||||
* - GPIO22
|
||||
- ADC1_CH6
|
||||
-
|
||||
-
|
||||
|
||||
* - GPIO23
|
||||
- ADC1_CH7
|
||||
-
|
||||
-
|
||||
|
||||
* - GPIO24
|
||||
-
|
||||
-
|
||||
-
|
||||
|
||||
* - GPIO25
|
||||
-
|
||||
-
|
||||
-
|
||||
|
||||
* - GPIO26
|
||||
-
|
||||
-
|
||||
-
|
||||
|
||||
* - GPIO27
|
||||
-
|
||||
-
|
||||
-
|
||||
|
||||
* - GPIO28
|
||||
-
|
||||
-
|
||||
-
|
||||
|
||||
* - GPIO29
|
||||
-
|
||||
-
|
||||
-
|
||||
|
||||
* - GPIO30
|
||||
-
|
||||
-
|
||||
-
|
||||
|
||||
* - GPIO31
|
||||
-
|
||||
-
|
||||
-
|
||||
|
||||
* - GPIO32
|
||||
-
|
||||
-
|
||||
-
|
||||
|
||||
* - GPIO33
|
||||
-
|
||||
-
|
||||
-
|
||||
|
||||
* - GPIO34
|
||||
-
|
||||
-
|
||||
- Strapping 管脚
|
||||
|
||||
* - GPIO35
|
||||
-
|
||||
-
|
||||
- Strapping 管脚
|
||||
|
||||
* - GPIO36
|
||||
-
|
||||
-
|
||||
- Strapping 管脚
|
||||
|
||||
* - GPIO37
|
||||
-
|
||||
-
|
||||
- Strapping 管脚
|
||||
|
||||
* - GPIO38
|
||||
-
|
||||
-
|
||||
- Strapping 管脚
|
||||
|
||||
* - GPIO39
|
||||
-
|
||||
-
|
||||
-
|
||||
|
||||
* - GPIO40
|
||||
-
|
||||
-
|
||||
-
|
||||
|
||||
* - GPIO41
|
||||
-
|
||||
-
|
||||
-
|
||||
|
||||
* - GPIO42
|
||||
-
|
||||
-
|
||||
-
|
||||
|
||||
* - GPIO43
|
||||
-
|
||||
-
|
||||
-
|
||||
|
||||
* - GPIO44
|
||||
-
|
||||
-
|
||||
-
|
||||
|
||||
* - GPIO45
|
||||
-
|
||||
-
|
||||
-
|
||||
|
||||
* - GPIO46
|
||||
-
|
||||
-
|
||||
-
|
||||
|
||||
* - GPIO47
|
||||
-
|
||||
-
|
||||
-
|
||||
|
||||
* - GPIO48
|
||||
-
|
||||
-
|
||||
-
|
||||
|
||||
* - GPIO49
|
||||
- ADC1_CH8
|
||||
-
|
||||
-
|
||||
|
||||
* - GPIO50
|
||||
- ADC1_CH9
|
||||
-
|
||||
-
|
||||
|
||||
* - GPIO51
|
||||
- ADC1_CH10,ANA_CMPR_CH0 外部参考电压
|
||||
-
|
||||
-
|
||||
|
||||
* - GPIO52
|
||||
- ADC1_CH11,ANA_CMPR_CH0 同相输入
|
||||
-
|
||||
-
|
||||
|
||||
* - GPIO53
|
||||
- ADC1_CH12,ANA_CMPR_CH1 外部参考电压
|
||||
-
|
||||
-
|
||||
|
||||
* - GPIO54
|
||||
- ADC1_CH13,ANA_CMPR_CH1 同相输入
|
||||
-
|
||||
-
|
||||
|
||||
* - GPIO55
|
||||
-
|
||||
-
|
||||
-
|
||||
|
||||
* - GPIO56
|
||||
-
|
||||
-
|
||||
-
|
||||
|
||||
.. note::
|
||||
|
||||
- Strapping 管脚:GPIO34, GPIO35、GPIO36、GPIO37 和 GPIO38 是 Strapping 管脚。更多信息请参考 `ESP32-P4 技术规格书 <{IDF_TARGET_DATASHEET_CN_URL}>`_。
|
||||
- USB-JTAG:GPIO24 和 GPIO25 默认用于 USB-JTAG。用做 GPIO 时驱动程序将禁用 USB-JTAG。
|
||||
|
||||
---
|
||||
Reference in New Issue
Block a user