From 1a5bfa502471c07f44997d05e242aae93687dfe9 Mon Sep 17 00:00:00 2001 From: IhorNehrutsa Date: Fri, 1 Sep 2023 18:50:17 +0300 Subject: [PATCH] docs/esp32/tutorial: Add example for pin access via registers. Synchronous access to pins directly via registers. Signed-off-by: Ihor Nehrutsa --- docs/esp32/tutorial/img/mem32_gpio_output.jpg | Bin 0 -> 204577 bytes docs/esp32/tutorial/peripheral_access.rst | 80 ++++++++++++++++++ 2 files changed, 80 insertions(+) create mode 100755 docs/esp32/tutorial/img/mem32_gpio_output.jpg diff --git a/docs/esp32/tutorial/img/mem32_gpio_output.jpg b/docs/esp32/tutorial/img/mem32_gpio_output.jpg new file mode 100755 index 0000000000000000000000000000000000000000..5544202871eb7f5ce19fa6c660d7cbdec83d3335 GIT binary patch literal 204577 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 literal 0 HcmV?d00001 diff --git a/docs/esp32/tutorial/peripheral_access.rst b/docs/esp32/tutorial/peripheral_access.rst index 3304c341de..ecdec101f7 100644 --- a/docs/esp32/tutorial/peripheral_access.rst +++ b/docs/esp32/tutorial/peripheral_access.rst @@ -42,3 +42,83 @@ for this: The MCPWM0 peripheral is in bit position 17 of the above two registers, hence the value of ``DPORT_PWM0_CLK_EN``. + +Synchronous access to pins directly via registers +------------------------------------------------- + +The following code shows how to access pins directly via registers. It has been +tested on a generic ESP32 board. It configures pins 16, 17, 32 and 33 in output +mode via registers, and switches pin output values via registers. Pins 16 and +17 are switched simultaneously. + +.. code-block:: python3 + + from micropython import const + from machine import mem32, Pin + + GPIO_OUT_REG = const(0x3FF44004) # GPIO 0-31 output register + GPIO_OUT1_REG = const(0x3FF44010) # GPIO 32-39 output register + + GPIO_ENABLE_REG = const(0x3FF44020) # GPIO 0-31 output enable register + GPIO_ENABLE1_REG = const(0x3FF4402C) # GPIO 32-39 output enable register + + M16 = 1 << 16 # Pin(16) bit mask + M17 = 1 << 17 # Pin(17) bit mask + + M32 = 1 << (32-32) # Pin(32) bit mask + M33 = 1 << (33-32) # Pin(33) bit mask + + # Enable pin output mode like + # p16 = Pin(16, mode=Pin.OUT) + # p17 = Pin(17, mode=Pin.OUT) + # p32 = Pin(32, mode=Pin.OUT) + # p33 = Pin(33, mode=Pin.OUT) + mem32[GPIO_ENABLE_REG] = mem32[GPIO_ENABLE_REG] | M16 | M17 + mem32[GPIO_ENABLE1_REG] = mem32[GPIO_ENABLE1_REG] | M32 | M33 + + print(hex(mem32[GPIO_OUT_REG]), hex(mem32[GPIO_OUT1_REG])) + + # Set outputs to 1 like + # p16(1) + # p17(1) + # p32(1) + # p33(1) + mem32[GPIO_OUT_REG] = mem32[GPIO_OUT_REG] | M16 | M17 + mem32[GPIO_OUT1_REG] = mem32[GPIO_OUT1_REG] | M32 | M33 + + print(hex(mem32[GPIO_OUT_REG]), hex(mem32[GPIO_OUT1_REG])) + + # Set outputs to 0 like + # p16(0) + # p17(0) + # p32(0) + # p33(0) + mem32[GPIO_OUT_REG] = mem32[GPIO_OUT_REG] & ~(M16 | M17) + mem32[GPIO_OUT1_REG] = mem32[GPIO_OUT1_REG] & ~(M32 | M33) + + print(hex(mem32[GPIO_OUT_REG]), hex(mem32[GPIO_OUT1_REG])) + + while True: + # Set outputs to 1 + mem32[GPIO_OUT_REG] = mem32[GPIO_OUT_REG] | M16 | M17 + mem32[GPIO_OUT1_REG] = mem32[GPIO_OUT1_REG] | M32 | M33 + + # Set outputs to 0 + mem32[GPIO_OUT_REG] = mem32[GPIO_OUT_REG] & ~(M16 | M17) + mem32[GPIO_OUT1_REG] = mem32[GPIO_OUT1_REG] & ~(M32 | M33) + + +Output is:: + + 0x0 0x0 + 0x30000 0x3 + 0x0 0x0 + +Pins 16 and 17 are switched synchronously: + +.. image:: img/mem32_gpio_output.jpg + +Same image on pins 32 and 33. + +Note that pins 34-36 and 39 are inputs only. Also pins 1 and 3 are Tx, Rx of the REPL UART, +pins 6-11 are connected to the built-in SPI flash.