kopia lustrzana https://github.com/micropython/micropython
docs/esp32/tutorial: Update pin access example with addresses for ESP32-S3.
Signed-off-by: Paul Grayson <pdg@alum.mit.edu>pull/12666/head
rodzic
d2a9d70c09
commit
59f86fffc9
|
@ -17,7 +17,6 @@ the prescaler of the MCPWM0 peripheral.
|
||||||
DPORT_PERIP_RST_EN_REG = const(DR_REG_DPORT_BASE + 0x0C4)
|
DPORT_PERIP_RST_EN_REG = const(DR_REG_DPORT_BASE + 0x0C4)
|
||||||
DPORT_PWM0_CLK_EN = const(1 << 17)
|
DPORT_PWM0_CLK_EN = const(1 << 17)
|
||||||
MCPWM0 = const(0x3FF5E000)
|
MCPWM0 = const(0x3FF5E000)
|
||||||
MCPWM1 = const(0x3FF6C000)
|
|
||||||
|
|
||||||
# Enable CLK and disable RST.
|
# Enable CLK and disable RST.
|
||||||
print(hex(mem32[DPORT_PERIP_CLK_EN_REG] & 0xffffffff))
|
print(hex(mem32[DPORT_PERIP_CLK_EN_REG] & 0xffffffff))
|
||||||
|
@ -32,6 +31,18 @@ the prescaler of the MCPWM0 peripheral.
|
||||||
mem32[MCPWM0] = 0x55 # change PWM_CLK_PRESCALE
|
mem32[MCPWM0] = 0x55 # change PWM_CLK_PRESCALE
|
||||||
print(hex(mem32[MCPWM0])) # read PWM_CLK_CFG_REG
|
print(hex(mem32[MCPWM0])) # read PWM_CLK_CFG_REG
|
||||||
|
|
||||||
|
The specific addresses will be different on different ESP32
|
||||||
|
models. For example, ESP32-S3 uses these values:
|
||||||
|
|
||||||
|
.. code-block:: python3
|
||||||
|
|
||||||
|
DR_REG_DPORT_BASE = const(0x600C_0000)
|
||||||
|
DPORT_PERIP_CLK_EN0_REG = const(DR_REG_DPORT_BASE + 0x0018)
|
||||||
|
DPORT_PERIP_RST_EN0_REG = const(DR_REG_DPORT_BASE + 0x0020)
|
||||||
|
DPORT_PWM0_CLK_EN = const(1 << 17)
|
||||||
|
MCPWM0 = const(0x6001_E000 + 0x0004)
|
||||||
|
...
|
||||||
|
|
||||||
Note that before a peripheral can be used its clock must be enabled and it must
|
Note that before a peripheral can be used its clock must be enabled and it must
|
||||||
be taken out of reset. In the above example the following registers are used
|
be taken out of reset. In the above example the following registers are used
|
||||||
for this:
|
for this:
|
||||||
|
|
Ładowanie…
Reference in New Issue