ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ cortex-m3
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Π²ΡΠ²ΠΎΠ΄Ρ ΠΏΠΎΡΡΠ° ΠΏΠ΅ΡΠ΅ΡΠ»ΠΈ ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠΈΡΠ΅ΡΠΈΠΉΠ½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π΄Π°ΡΡ Π΄Π»Ρ Π½ΡΠΆΠ½ΡΡ Π²ΡΠ²ΠΎΠ΄ΠΎΠ² Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ. ΠΡΠ΅ Π°Π΄ΡΠ΅ΡΠ° ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ»ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΠ°Π·Π°→ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅, Π² ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ ΡΠΊΠ°Π·Π°Π½ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π½ΠΎΠΌΠ΅ΡΠΎΠ² Π±ΠΈΡΠΎΠ² ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ°. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΡΡΠ»ΠΎΠΆΠ½Π΅Π½ΠΈΡ. ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ΅ΠΊΡΡΠ΅ΠΉ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ cortex-m3 (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΡΠ·ΡΠΊΠ΅ C/C++ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° Cortex-ΠΠ. ΠΠ½Π°ΡΠ°Π»Π΅ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ ΠΎΠ±ΡΠΈΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ΅ΡΠΈΡΠ΅ΡΠΈΠΉΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ ΡΠ°Π·ΠΎΠ±ΡΠ°Π½Ρ ΡΠΈΠΏΠΎΠ²ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ, ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌΡΠ΅ ΡΡΡΠ΄Π΅Π½ΡΠ°ΠΌ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ Π·Π°Π½ΡΡΠΈΠΉ.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠΈΡΠ΅ΡΠΈΠΉΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² ΡΡΠ΅Π½Π΄Π°
Π‘Π²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π½ΡΠ΅ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΡ
ΠΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΈΠΌΠ΅Π΅Ρ 6 ΠΏΠΎΡΡΠΎΠ² Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π° ΠΏΠΎ 16 ΡΠ°Π·ΡΡΠ΄ΠΎΠ² ΠΊΠ°ΠΆΠ΄ΡΠΉ. ΠΡΠ²ΠΎΠ΄Ρ ΠΏΠΎΡΡΠΎΠ² ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½Ρ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π±Π»ΠΎΠΊΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½Π°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π±ΠΈΡΠΎΠ²ΠΎΠΉ Π»ΠΈΠ½ΠΈΠ΅ΠΉ ΠΏΠΎΡΡΠ°. ΠΠ° ΡΠΈΡ. 3.1 ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΡ Π΅ΠΌΡ ΡΡΠ΅Π½Π΄Π°, ΠΊΠ°ΡΠ°ΡΡΠΈΠΉΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π½ΡΡ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠΎΠ².
Π ΠΈΡ. 3.1. Π‘Ρ Π΅ΠΌΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π½ΡΡ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠΎΠ².
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Π²ΡΠ²ΠΎΠ΄Ρ ΠΏΠΎΡΡΠ° ΠΏΠ΅ΡΠ΅ΡΠ»ΠΈ ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠΈΡΠ΅ΡΠΈΠΉΠ½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π΄Π°ΡΡ Π΄Π»Ρ Π½ΡΠΆΠ½ΡΡ Π²ΡΠ²ΠΎΠ΄ΠΎΠ² Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ. ΠΡΠ΅ Π°Π΄ΡΠ΅ΡΠ° ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ»ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΠ°Π·Π°->ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅, Π² ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ ΡΠΊΠ°Π·Π°Π½ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π½ΠΎΠΌΠ΅ΡΠΎΠ² Π±ΠΈΡΠΎΠ² ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ°. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΡΡΠ»ΠΎΠΆΠ½Π΅Π½ΠΈΡ.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° 1. ΠΡΠ²Π΅ΡΡΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π½Π° ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π½ΡΠ΅ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΡ. Π Π΅ΡΠ΅Π½ΠΈΠ΅ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² Π²ΡΠ²ΠΎΠ΄Π΅ Π΅Π΄ΠΈΠ½ΠΈΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ Π»ΠΈΠ½ΠΈΠΉ Π Π‘Π ΠΈ Π Π‘1 ΠΏΠΎΡΡΠ° PORTC. Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ. ΠΠΈΡΡΠΈΠ½Π³ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π½Π° ΡΠΈΡ. 3.2.
Π ΠΈΡ. 3.2. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° 1 Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π½Π° ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π½ΡΠ΅.
ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΡ Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΠΎΡΡΠ° PORT Π‘.
MDR_RST_CLK->PER_CLOCK [31:0], ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ 0×1Π‘-ΡΠ΅Π³ΠΈΡΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΊΡΠΎΠ²ΠΎΠΉ ΡΠ°ΡΡΠΎΡΠΎΠΉ ΠΏΠ΅ΡΠΈΡΠ΅ΡΠΈΠΉΠ½ΡΡ Π±Π»ΠΎΠΊΠΎΠ². ΠΠΈΡΡ ΡΠ°Π·ΡΠ΅ΡΠ°ΡΡΡΠ°ΠΊΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠΈΡΠ΅ΡΠΈΠΉΠ½ΡΡ Π±Π»ΠΎΠΊΠΎΠ² (0-Π·Π°ΠΏΡΠ΅ΡΠ΅Π½ΠΎ, 1 — ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ). ΠΠΎΡΡΡ PORTC ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π±ΠΈΡ 23.
MDR_PORTC, Π±Π°Π·ΠΎΠ²ΡΠΉ Π°Π΄ΡΠ΅Ρ 0×400Π_8000 — ΠΏΠΎΡΡ PORTC.
MDR_PORTC->RXTX [15:0], ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ 0×0 — Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎΡΡΠ° PORTC.
MDR_PORTC->OE [15:0], ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ 0×04 — Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠ° Π΄Π°Π½Π½ΡΡ ΠΏΠΎΡΡΠ° (0 — Π²Π²ΠΎΠ΄, 1 — Π²ΡΠ²ΠΎΠ΄).
MDR_PORTC->ANALOG [15:0], ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΡ ΠΠ‘ — ΡΠ΅ΠΆΠΈΠΌ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎΡΡΠ° (0 — Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡΠΉ, 1 — ΡΠΈΡΡΠΎΠ²ΠΎΠΉ).
MDR_PORTC->PWR [31:0], ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΡ 18 — ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΡΠ½ΠΎΡΡΡΡ ΠΏΠΎΡΡΠ° Π²ΡΠ²ΠΎΠ΄Π°: 00 — ΠΏΠΎΡΡ ΠΎΡΠΊΠ»ΡΡΠ΅Π½;
- 01 — ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΉ ΡΡΠΎΠ½Ρ (100 Π½Ρ);
- 10 — Π±ΡΡΡΡΡΠΉ ΡΡΠΎΠ½Ρ (20 Π½Ρ);
- 11 — ΠΊΠΎΡΠΎΡΠΊΠΈΠΉ ΡΡΠΎΠ½Ρ (10 Π½Ρ).
ΠΡΠΎΠ²Π΅Π΄Π΅ΠΌ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ 1. Π²ΡΠ΄Π΅Π»ΠΈΠ² Π½Π°ΡΠ°Π»ΡΠ½ΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΡΡΠ° Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ-ΡΡΠ½ΠΊΡΠΈΡ io_init. ΠΠ΄Π½Π° ΠΈΠ· ΡΠ΅Π»Π΅ΠΉ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ-ΡΡΠ½ΠΊΡΠΈΠΉ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π½ΠΎΠ²ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. ΠΠΈΡΡΠΈΠ½Π³ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π½Π° ΡΠΈΡ. 3.3.
Π ΠΈΡ. 3.3. Π‘ΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ 1 (Π²Π΅ΡΡΠΈΡ 1).
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π³ΠΎΠ»ΠΎΠ²Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ main () Π²ΡΠ΅Π³Π΄Π° ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡ Π² Π½Π°ΡΠ°Π»Π΅ ΡΠ°ΠΉΠ»Π°, Π° ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ-ΡΡΠ½ΠΊΡΠΈΠΈ — Π²ΡΠ»Π΅Π΄ Π·Π° Π½Π΅ΠΉ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π² Π½Π°ΡΠ°Π»Π΅ ΡΠ°ΠΉΠ»Π° ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΠΏΡΠΎΡΠΎΡΠΈΠΏΡ ΡΡΠ½ΠΊΡΠΈΠΉ, Ρ. Π΅. Π΄Π΅ΠΊΠ»Π°ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ , ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΡΡΠΈΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ. Π Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΊΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± Π΄Π΅ΠΊΠ»Π°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ, Ρ. Π΅. Π±ΡΠ΄Π΅ΠΌ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΈΡ ΠΏΡΠΎΡΠΎΡΠΈΠΏΡ Π² Π½Π°ΡΠ°Π»Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠ΅ΡΠ΅Π΄ Π³ΠΎΠ»ΠΎΠ²Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ main (). ΠΠΈΡΡΠΈΠ½Π³ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π½Π° ΡΠΈΡ. 3.4.
Π ΠΈΡ. 3.4. Π‘ΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ 1 (Π²Π΅ΡΡΠΈΡ 2).
ΠΡΠΎΠ³ ΡΠ°ΠΌΠΌΠ° 2. ΠΡΠ²Π΅ΡΡΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π½Π° ΠΎΠ±Π° ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π½ΡΡ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ°. ΠΠ° ΡΠΈΡ. 3.5 ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΉ ΡΡ Π΅ΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΡΠ°ΠΊΡΠΎΠ²ΠΎΠΉ ΡΠ°ΡΡΠΎΡΡ. ΠΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΈΠΌΠ΅Π΅Ρ Π΄Π²Π° Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΠ°ΠΊΡΠΎΠ²ΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° (HSI ΠΈ LSI) ΠΈ Π΄Π²Π΅ Π»ΠΈΠ½ΠΈΠΈ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΡΠ°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ (HSE ΠΈ LSE), Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π±Π»ΠΎΠΊ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΡΡΠΎΡΡ ΡΠ°ΠΊΡΠΎΠ²ΠΎΠΉ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ. ΠΠ±Π° Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° (HSI ΠΈ LSI) Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΏΡΠΈ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠΈ ΠΏΠΈΡΠ°ΡΡΠ΅Π³ΠΎ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ Ucc.
Π ΠΈΡ. 3.5. Π€ΡΠ°Π³ΠΌΠ΅Π½Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΉ ΡΡ Π΅ΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΡΠ°ΠΊΡΠΎΠ²ΠΎΠΉ ΡΠ°ΡΡΠΎΡΡ.
ΠΡΡΡΠΎΠ΅Π½Π½ΡΠΉ RC-Π³Π΅ΠΏΠ΅ΡΠ°ΡΠΎΡ HSI Π²ΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΠ°ΠΊΡΠΎΠ²ΡΡ ΡΠ°ΡΡΠΎΡΡ 8 ΠΠΡ, ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΠΎΠ΅ ΡΠ΄ΡΠΎ Π²ΡΠ΅Π³Π΄Π° Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π½Π° ΡΠ°ΠΊΡΠΎΠ²ΠΎΠΉ ΡΠ°ΡΡΠΎΡΠ΅ HSI. ΠΡΠΈ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ HSI ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΡΡΡΠΎΠ΅Π½.
ΠΡΡΡΠΎΠ΅Π½Π½ΡΠΉ RC-Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ LSI Π²ΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΠ°ΠΊΡΠΎΠ²ΡΡ ΡΠ°ΡΡΠΎΡΡ ΠΎΠΊΠΎΠ»ΠΎ 32 ΠΠΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ /ΡΠΎΠ³. ΠΡΠΈ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ LSI ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠΊΠ»ΡΡΠ΅Π½.
ΠΠ½Π΅ΡΠ½ΠΈΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ HSE ΠΈ LSE ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ Π²ΡΡΠ°Π±ΠΎΡΠΊΠΈ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠΉ ΡΠ°ΠΊΡΠΎΠ²ΠΎΠΉ ΡΠ°ΡΡΠΎΡΡ ΠΎΡ 2 Π΄ΠΎ 16 ΠΠΡ (HSE) ΠΈ 32 ΠΠΡ (LSE). ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² Π΄Π²ΡΡ ΡΠ΅ΠΆΠΈΠΌΠ°Ρ : Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΡΠ°ΠΊΡΠΎΠ²ΡΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΡΠ΅Π·ΠΎΠ½Π°ΡΠΎΡΠΎΠΌ ΠΈΠ»ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ, Ρ. Π΅. Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΡΠΈΠ³Π½Π°Π»Ρ ΡΠ°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΠ΄Π°Π²Π°Π΅ΠΌΡΠ΅ Π½Π° Π»ΠΈΠ½ΠΈΡ HSE ΠΈΠ»ΠΈ LSE.
Π ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ 2 (ΡΠΈΡ. 3.6) ΠΌΡ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΌΠ½ΠΎΠΆΠΈΡΠ΅Π»Ρ ΡΠ°ΡΡΠΎΡΡ CPU PLL, Π° Π±ΡΠ΄Π΅ΠΌ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΡΠ°ΠΊΡΠΎΠ²ΡΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ HSE, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ Π½Π° ΡΠ°ΠΊΡΠΎΠ²ΠΎΠΉ ΡΠ°ΡΡΠΎΡΠ΅ 8 ΠΠΡ. Π€ΡΠ½ΠΊΡΠΈΡ io_init Π·Π΄Π΅ΡΡ Π²Π·ΡΡΠ° ΠΈΠ· ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ 1, ΠΎΠ½Π° ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠ±ΡΡΠΆΠ΄Π°Π»Π°ΡΡ ΡΠ°Π½Π΅Π΅. Π ΡΡΠΎΠΉ ΡΠ²ΡΠ·ΠΈ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΡΠ°ΠΊΡΠΎΠ²ΠΎΠΉ ΡΠ°ΡΡΠΎΡΡ Π² Π½ΠΎΠ²ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ frq_init.
ΠΠ° ΡΠΈΡ. 3.7 ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° ΡΡΠ½ΠΊΡΠΈΡ frq_init_pll, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ°Ρ PLL (ΡΠΌΠ½ΠΎΠΆΠΈΡΠ΅Π»Ρ ΡΠ°ΡΡΠΎΡΡ). Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ².
Π ΠΈΡ. 3.6. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° 2 Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π½Π° ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΡ (Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ PLL).
Π ΠΈΡ. 3.7. Π€ΡΠ½ΠΊΡΠΈΡ frq_init_pll, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ°Ρ PLL.
MDR_RST_CLK. Π±Π°Π·ΠΎΠ²ΡΠΉ Π°Π΄ΡΠ΅Ρ 0×4002_0000 — ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΠ°ΠΊΡΠΎΠ²ΠΎΠΉ ΡΠ°ΡΡΠΎΡΡ;
MDR_RST_CLK->HS_CONTROL [31:0], ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ 0×08 — ΡΠ΅Π³ΠΈΡΡΡ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²ΡΡΠΎΠΊΠΎΡΠ°ΡΡΠΎΡΠ½ΡΠΌ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠΌ ΠΈ ΠΎΡΡΠΈΠ»Π»ΡΡΠΎΡΠΎΠΌ. [31:2] - Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ: Π±ΠΈΡ [1] - ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ HSE ΠΎΡΡΠΈΠ»Π»ΡΡΠΎΡΠΎΠΌ (0 — ΡΠ΅ΠΆΠΈΠΌ ΠΎΡΡΠΈΠ»Π»ΡΡΠΎΡΠ°. 1 — ΡΠ΅ΠΆΠΈΠΌ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°); Π±ΠΈΡ [0] - ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ HSE ΠΎΡΡΠΈΠ»Π»ΡΡΠΎΡΠΎΠΌ (0 — Π²ΡΠΊΠ»ΡΡΠ΅Π½, 1 — Π²ΠΊΠ»ΡΡΠ΅Π½);
MDR_RST_CLK->CLOCK_STATUS [31:0], ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ 0×0 — ΡΠ΅Π³ΠΈΡΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π±Π»ΠΎΠΊΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΊΡΠΎΠ²ΠΎΠΉ ΡΠ°ΡΡΠΎΡΡ. ΠΠΈΡΡ [31:3] - Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ; Π±ΠΈΡ 2 — ΡΠ»Π°Π³ Π²ΡΡ ΠΎΠ΄Π° Π² ΡΠ°Π±ΠΎΡΠΈΠΉ ΡΠ΅ΠΆΠΈΠΌ ΠΎΡΡΠΈΠ»Π»ΡΡΠΎΡΠ° HSE (0 — ΠΎΡΡΠΈΠ»Π»ΡΡΠΎΡ Π½Π΅ Π·Π°ΠΏΡΡΠ΅Π½ ΠΈΠ»ΠΈ Π½Π΅ ΡΡΠ°Π±ΠΈΠ»Π΅Π½; 1 — ΠΎΡΡΠΈΠ»Π»ΡΡΠΎΡ Π·Π°ΠΏΡΡΠ΅Π½ ΠΈ ΡΡΠ°Π±ΠΈΠ»Π΅Π½); Π±ΠΈΡ 1 — ΡΠ»Π°Π³ Π²ΡΡ ΠΎΠ΄Π° Π² ΡΠ°Π±ΠΎΡΠΈΠΉ ΡΠ΅ΠΆΠΈΠΌ CPU PLL; Π±ΠΈΡ 0 — ΡΠ»Π°Π³ Π²ΡΡ ΠΎΠ΄Π° Π² ΡΠ°Π±ΠΎΡΠΈΠΉ ΡΠ΅ΠΆΠΈΠΌ USB PLL;
MDR_RST_CLK->CPU_CLOCK [31:0], ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΡ ΠΠ‘-ΡΠ΅Π³ΠΈΡΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΊΡΠΎΠ²ΠΎΠΉ ΡΠ°ΡΡΠΎΡΠΎΠΉ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ΄ΡΠ°. ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±ΠΈΡΠΎΠ²:
[31:10]- Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ;
[9:8] (CPU_CLK) — Π²ΡΠ±ΠΎΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° HCLK (00 — HS1; 01 — CPU_C3; 10 — LSE; 11 — LSI);
[7:4] (CPU_C3_SEL) — Π²ΡΠ±ΠΎΡ Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ CPU_C3: CPU_C3 = CPU_C2/n (ΠΡ Ρ Ρ — n = 1; 1000-ΠΏ = 2; 1001 — ΠΏ = 4; 1010-ΠΏ = 8… 1111 -ΠΏ = 256);
[3] - Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π½ΡΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅;
[2] (CPU_C2_SEL) — Π²ΡΠ±ΠΎΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° Π΄Π»Ρ CPU_C2 (0 — CPU_C1; 1 — PLLCPUo);
[1:0] (CPU_C1_SEL) — Π²ΡΠ±ΠΎΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° Π΄Π»Ρ CPU_C1 (00 — HSI; 01 — HSI/2; 10 — HSE; 11 — HSE/2).
Π ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ 2 Π±ΡΠ» ΡΠ΄Π΅Π»Π°Π½ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΡΠ±ΠΎΡ Π΄Π»Ρ Π±ΠΈΡΠΎΠ² [9:0] ΡΠ΅Π³ΠΈΡΡΡΠ° MDR_RST_CLK->CPU_CLOCK = 0×102 = 100 000 010:
01 (CPU_C3) — 0000 (ΠΈ = 1) — 0 (Ρ ) — 0 (CPU_C 1) -10 (HSE).
ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΠ°ΠΊΡΠΎΠ²ΠΎΠΉ ΡΠ°ΡΡΠΎΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ SystemCoreClock, Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅Ρ ΡΠΈΡΡΠ΅ΠΌΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ SystemCoreClockUpdateQ. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π²ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ°ΠΊΡΠΎΠ²ΠΎΠΉ ΡΠ°ΡΡΠΎΡΡ Π·Π°Π²Π΅ΡΡΠ°ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ SystemCoreClockUpdateQ, ΡΡΠΎΠ±Ρ Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π² Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ SystemCoreClock.
ΠΠ±ΡΡΠ΄ΠΈΠΌ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΌΠ½ΠΎΠΆΠΈΡΠ΅Π»Π΅ΠΌ ΡΠ°ΡΡΠΎΡΡ PLL CPU, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ frqjnit (ΡΠΌ. ΡΠΈΡ. 3.7):
MDR_RST_CLK->PLL_CONTROL [31:0]. ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ 0×04 — ΡΠ΅Π³ΠΈΡΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ°ΡΡΠΎΡΡ. ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±ΠΈΡΠΎΠ²:
[31:12]- Π±ΠΈΡΡ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ;
[11:8] PLLCPUMUL — ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ°ΡΡΠΎΡΡ Π΄Π»Ρ CPU: PLLCPUUo = CPU_C3 Ρ PLLCPUMUL + 1;
[7:4] PLLUSBMUL — ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ°ΡΡΠΎΡΡ Π΄Π»Ρ USB;
[3] PLLCPU — Π±ΠΈΡ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ°;
[2] PLLCPU — Π±ΠΈΡ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ;
[1] PLLUSB — Π±ΠΈΡ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ°;
[0] PLLUSB — Π±ΠΈΡ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° 3. ΠΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΠΊΠ»Π°Π²ΠΈΡΠ½ΠΎΠ³ΠΎ Π΄ΠΆΠΎΠΉΡΡΠΈΠΊΠ° Π½Π° ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π½ΡΠ΅ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΡ. Π‘Ρ Π΅ΠΌΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ Π΄ΠΆΠΎΠΉΡΡΠΈΠΊΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° Π½Π° ΡΠΈΡ. 3.8. ΠΠΆΠΎΠΉΡΡΠΈΠΊ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΏΡΡΠΈ ΠΊΠ»Π°Π²ΠΈΡ, ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½Π½ΡΡ UP (Π²Π²Π΅ΡΡ ), DOWN (Π²Π½ΠΈΠ·), LEFT (Π²Π»Π΅Π²ΠΎ), RIGHT (Π²ΠΏΡΠ°Π²ΠΎ) ΠΈ SEL (select, Π²ΡΠ±ΠΎΡ). ΠΠ»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π²ΡΠΌΡ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π½ΡΠΌΠΈ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ°ΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ: LEFT Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π° VD1, RIGHT Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π° VD0 ΠΈ SEL Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΠ±ΠΎΠΈΡ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠΎΠ² VD0 ΠΈ VD1.
Π ΠΈΡ. 3.8. Π‘Ρ Π΅ΠΌΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠ»Π°Π²ΠΈΡΠ½ΠΎΠ³ΠΎ Π΄ΠΆΠΎΠΉΡΡΠΈΠΊΠ°.
ΠΠΎΠ»ΠΎΠ²Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ Π΄ΠΆΠΎΠΉΡΡΠΈΠΊΠ° Π½Π° ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π½ΡΠ΅ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΡ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π½Π° ΡΠΈΡ. 3.9. ΠΠ»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°ΠΊΡΠΎΠ²ΠΎΠ³ΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΡ frq_init_pll (), ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ»Π° ΠΎΠΏΠΈΡΠ°Π½Π° ΡΠ°Π½Π΅Π΅ (ΡΠΌ. ΡΠΈΡ. 3.7). ΠΠ΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠΎΡΡΠΎΠΈΡ Π² Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΌ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π»ΠΈΠ½ΠΈΠΉ ΠΏΠΎΡΡΠΎΠ², ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΡΡΠ΅ΠΌ ΠΊΠ»Π°Π²ΠΈΡΠ°ΠΌ Π΄ΠΆΠΎΠΉΡΡΠΈΠΊΠ° LEFT, RIGHT ΠΈ SEL. ΠΡΠΈ ΠΎΠΏΡΠΎΡΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Π½ΡΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ²Π½Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΡΠΈ — ΡΡΠΎΠ²Π΅Π½Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ Π΅Π΄ΠΈΠ½ΠΈΡΡ. ΠΡΠΎΡΠ΅Π΄ΡΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈ Π²ΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π½ΡΡ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠΎΠ² ΠΎΡΠΎΡΠΌΠ»Π΅Π½Ρ Π² Π²ΠΈΠ΄Π΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ led_on () ΠΈ led_off (). ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ ΡΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½ΠΎΠΌΠ΅Ρ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ° 0 ΠΈΠ»ΠΈ 1. ΠΠ»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ Π»ΠΈΠ½ΠΈΡΠΌ ΠΏΠΎΡΡΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°: ΠΊΠΎΠΌΠ°Π½Π΄Π° #define.
Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π±Π°Π·ΠΎΠ²ΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ««» Π΄Π»Ρ ΡΠ΄Π²ΠΈΠ³Π° Π²Π»Π΅Π²ΠΎ. ΠΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Ρ ΠΈΠ· Π±Π°Π·ΠΎΠ²ΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ ΠΏΡΡΠ΅ΠΌ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ.
Π ΠΈΡ. 3.9. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° 3 Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ ΠΊΠ»Π°Π²ΠΈΡ Π΄ΠΆΠΎΠΉΡΡΠΈΠΊΠ° Π½Π° ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π½ΡΠ΅.
ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΡ
ΠΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°-ΡΡΠ½ΠΊΡΠΈΡ joystick_init Π΄Π»Ρ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π»ΠΈΠ½ΠΈΠΉ ΡΡΠ΅Ρ ΠΏΠΎΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΡΡΠΈΡΡΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Ρ ΠΊΠ»Π°Π²ΠΈΡ Π΄ΠΆΠΎΠΉΡΡΠΈΠΊΠ°, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° Π½Π° ΡΠΈΡ. 3.10. ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π»ΠΈΠ½ΠΈΠΉ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ° Π·Π΄Π΅ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΠΎΠΉ ΡΠ°Π½Π΅Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ io_init. ΠΡΠ΅ Π»ΠΈΠ½ΠΈΠΈ ΠΏΠΎΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΎΠ±ΡΡΠΆΠ΄Π°Π»ΠΈ ΡΠ°Π½Π΅Π΅ (ΡΠΌ. ΡΠΈΡ. 3.8), ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡΡΡΡ Π½Π° Π²Π²ΠΎΠ΄ Π² Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Ρ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΌΠΈ ΡΡΠΎΠ½ΡΠ°ΠΌΠΈ (Π΄ΠΎ 100 Π½Ρ). ΠΠΊΠ»ΡΡΠ΅Π½ΠΎ ΡΠ°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΡΡΠ΅Ρ ΠΏΠΎΡΡΠΎΠ² Π, Π‘, Π. ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π²ΡΡ Π»ΠΈΠ½ΠΈΠΉ ΠΏΠΎΡΡΠ° PORT Π‘ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π½Π° ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π½ΡΠ΅ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΡ. ΠΠΎΡΡΠΎΠΌΡ Π»ΠΈΠ½ΠΈΠΈ Π Π‘Π ΠΈ Π Π‘1 Π·Π°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½Ρ Π½Π° Π²ΡΠ²ΠΎΠ΄ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΡΠΎΠΌΡ, ΠΊΠ°ΠΊ ΡΡΠΎ Π±ΡΠ»ΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ Π² ΡΡΠ½ΠΊΡΠΈΠΈ io_init.
Π ΠΈΡ. 3.10. ΠΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°-ΡΡΠ½ΠΊΡΠΈΡ joystickjnit Π΄Π»Ρ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
ΠΊΠ»Π°Π²ΠΈΡ Π΄ΠΆΠΎΠΉΡΡΠΈΠΊΠ°.