bugfix:rotary encoder example isr service install

Fix the issue mentioned when using two or more encoders. Modify PCNT_CTRL_GND_IO
to avoid the affect of USB JTAG(origin pin 19 is used for USB D-). Update esp32c3.
peripherals.ld and docs for esp32s3.

Closes https://github.com/espressif/esp-idf/issues/6889
This commit is contained in:
bizhuangyang
2021-06-23 15:42:35 +08:00
parent bf48a789ac
commit 1829783886
4 changed files with 23 additions and 10 deletions

View File

@@ -1,6 +1,9 @@
Pulse Counter
=============
{IDF_TARGET_PCNT_UNIT_NUM:default="8", esp32s2="4"}
{IDF_TARGET_PCNT_MAX_UNIT_NUM:default="7", esp32s2="3"}
Introduction
------------
@@ -22,13 +25,8 @@ Description of functionality of this API has been broken down into four sections
Configuration
-------------
.. only:: esp32
The PCNT module has eight independent counting "units" numbered from 0 to 7. In the API they are referred to using :cpp:type:`pcnt_unit_t`. Each unit has two independent channels numbered as 0 and 1 and specified with :cpp:type:`pcnt_channel_t`.
.. only:: esp32s2
The PCNT module has four independent counting "units" numbered from 0 to 3. In the API they are referred to using :cpp:type:`pcnt_unit_t`. Each unit has two independent channels numbered as 0 and 1 and specified with :cpp:type:`pcnt_channel_t`.
The PCNT module has {IDF_TARGET_PCNT_UNIT_NUM} independent counting "units" numbered from 0 to {IDF_TARGET_PCNT_MAX_UNIT_NUM}. In the API they are referred to using :cpp:type:`pcnt_unit_t`. Each unit has two independent channels numbered as 0 and 1 and specified with :cpp:type:`pcnt_channel_t`.
The configuration is provided separately per unit's channel using :cpp:type:`pcnt_config_t` and covers: