mirror of
https://github.com/mytechnotalent/Embedded-Hacking.git
synced 2026-10-22 07:18:47 +02:00
Fix invalid LaTeX opcode math blocks in WEEK05a.md and rebuild companion PDF
This commit is contained in:
1 parent
7792d6708d
commit
04a6a8e346
2 files changed
+3
-3
No files matched your search
+3
-3
@@ -403,13 +403,13 @@ Instead of issuing memory load and store instructions across the system bus, the
|
||||
According to **Section 3.6.1**, the GPIOC instruction set provides instantaneous, zero-latency GPIO control:
|
||||
|
||||
#### 1. Single-Bit Output Enable (gpioc_bit_oe_put)
|
||||
$$\text{Opcode: } \texttt{mcrr p0, #4, Rt, Rt2, c4}$$
|
||||
- **Opcode:** `mcrr p0, #4, Rt, Rt2, c4`
|
||||
- `Rt`: General-purpose register holding the pin number ($0..47$).
|
||||
- `Rt2`: General-purpose register holding the 1-bit value ($1 = \text{Output}, 0 = \text{Input}$).
|
||||
- **Operation:** Atomically sets or clears the output enable for pin `Rt` in **1 single clock cycle**! No 32-bit addresses, no bit-shifts (`1 << pin`), and zero bus traffic!
|
||||
|
||||
#### 2. Single-Bit Output Data (gpioc_bit_out_put)
|
||||
$$\text{Opcode: } \texttt{mcrr p0, #4, Rt, Rt2, c0}$$
|
||||
- **Opcode:** `mcrr p0, #4, Rt, Rt2, c0`
|
||||
- `Rt`: Pin number ($0..47$).
|
||||
- `Rt2`: Value ($1 = \text{High}, 0 = \text{Low}$).
|
||||
- **Operation:** Atomically drives pin `Rt` High or Low in 1 clock cycle.
|
||||
@@ -420,7 +420,7 @@ $$\text{Opcode: } \texttt{mcrr p0, #4, Rt, Rt2, c0}$$
|
||||
- Clear pin `Rt` Low: `mcr p0, #7, Rt, c0, c0` (`gpioc_bit_out_clr`)
|
||||
|
||||
#### 4. 64-Bit Simultaneous Sampling
|
||||
$$\text{Opcode: } \texttt{mrrc p0, #0, Rt, Rt2, c0}$$
|
||||
- **Opcode:** `mrrc p0, #0, Rt, Rt2, c0`
|
||||
- Reads back all 48 GPIO pins simultaneously into register pair `Rt:Rt2` in a single clock cycle!
|
||||
|
||||
---
|
||||
|
||||
Binary file not shown.
Reference in new issue
Block a user