docs/library/machine: Add machine.memX to docs with brief example.
This commit is contained in:
parent
2c8dab7ab4
commit
e65b12a1b9
|
@ -19,6 +19,44 @@ This is true for both physical devices with IDs >= 0 and "virtual" devices
|
|||
with negative IDs like -1 (these "virtual" devices are still thin shims on
|
||||
top of real hardware and real hardware interrupts). See :ref:`isr_rules`.
|
||||
|
||||
Memory access
|
||||
-------------
|
||||
|
||||
The module exposes three objects used for raw memory access.
|
||||
|
||||
.. data:: mem8
|
||||
|
||||
Read/write 8 bits of memory.
|
||||
|
||||
.. data:: mem16
|
||||
|
||||
Read/write 16 bits of memory.
|
||||
|
||||
.. data:: mem32
|
||||
|
||||
Read/write 32 bits of memory.
|
||||
|
||||
Use subscript notation ``[...]`` to index these objects with the address of
|
||||
interest. Note that the address is the byte address, regardless of the size of
|
||||
memory being accessed.
|
||||
|
||||
Example use (registers are specific to an stm32 microcontroller):
|
||||
|
||||
.. code-block:: python3
|
||||
|
||||
import machine
|
||||
from micropython import const
|
||||
|
||||
GPIOA = const(0x48000000)
|
||||
GPIO_BSRR = const(0x18)
|
||||
GPIO_IDR = const(0x10)
|
||||
|
||||
# set PA2 high
|
||||
machine.mem32[GPIOA + GPIO_BSRR] = 1 << 2
|
||||
|
||||
# read PA3
|
||||
value = (machine.mem32[GPIOA + GPIO_IDR] >> 3) & 1
|
||||
|
||||
Reset related functions
|
||||
-----------------------
|
||||
|
||||
|
|
Loading…
Reference in New Issue