π ΠΡΠ°ΡΠΊΠΎ
General-Purpose Input/Output GPIO β ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌΡΠ΅ Π²ΡΠ²ΠΎΠ΄Ρ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ², FPGA ΠΈΠ»ΠΈ SoC, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°Π½Ρ ΠΊΠ°ΠΊ Π²Ρ ΠΎΠ΄Ρ ΠΈΠ»ΠΈ Π²ΡΡ ΠΎΠ΄Ρ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΡΠ΅ΠΏΡΠΌΠΈ.
π§ ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ
ΠΠ°ΠΆΠ΄ΡΠΉ GPIO ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ Π»ΠΈΠ½ΠΈΡ.
Π ΡΠ΅ΠΆΠΈΠΌΠ΅ Π²Π²ΠΎΠ΄Π° ΡΡΠΈΡΡΠ²Π°Π΅Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ Ρ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°.
Π ΡΠ΅ΠΆΠΈΠΌΠ΅ Π²ΡΠ²ΠΎΠ΄Π° ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π²ΡΡΠΎΠΊΠΈΠΉ ΠΈΠ»ΠΈ Π½ΠΈΠ·ΠΊΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ Π½Π° ΠΏΠΈΠ½Π΅.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ:
- Pull-up / Pull-down ΡΠ΅Π·ΠΈΡΡΠΎΡΡ
 - ΠΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΠΏΠΎ ΡΡΠΎΠ½ΡΡ / ΡΠΏΠ°Π΄Ρ / ΡΡΠΎΠ²Π½Ρ
 - ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ (UART, SPI, PWM ΠΈ Π΄Ρ.)
 
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΠ΅Π³ΠΈΡΡΡΡ:
- ΡΠ΅ΠΆΠΈΠΌ (input/output)
 - ΡΡΠΎΠ²Π΅Π½Ρ (high/low)
 - Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅
 - ΡΡΠ½ΠΊΡΠΈΡ/Π°Π»ΡΡ. ΡΡΠ½ΠΊΡΠΈΡ
 
βοΈ ΠΠ΄Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ
| Π£ΡΡΡΠΎΠΉΡΡΠ²ΠΎ | ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ | 
|---|---|
| Microcontrollers | Π‘Π²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Ρ, ΠΊΠ½ΠΎΠΏΠΊΠΈ, Π΄Π°ΡΡΠΈΠΊΠΈ, ΡΠ΅Π»Π΅ | 
| FPGA | ΠΠ±ΠΌΠ΅Π½ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΡΠΈΠ½Π°ΠΌΠΈ ΠΈ ΡΡ Π΅ΠΌΠ°ΠΌΠΈ | 
| Embedded | GPIO = ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ | 
| Industrial Control | ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠ³Π½Π°Π»ΠΎΠ²: ΡΡΠ΅Π²ΠΎΠ³ΠΈ, Π΄Π°ΡΡΠΈΠΊΠΈ | 
| SoC | ΠΠ±ΡΠ°Ρ ΡΠΈΠ½Π° ΡΠ²ΡΠ·ΠΈ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΠΌΠΈΡΠΎΠΌ | 
π» ΠΡΠΈΠΌΠ΅Ρ (STM32 HAL)
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_SET);   // ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π²ΡΡΠΎΠΊΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ
HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5);                // ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅π Π‘Ρ Π΅ΠΌΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ
         +----------+
         |   GPIO   |ββββββ[ΠΠ½ΠΎΠΏΠΊΠ° / Π‘ΠΈΠ³Π½Π°Π»]
         | Register |
         +----------+
             β
         [MCU / FPGA]
β ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°
- 
ΠΡΠΎΡΡΠΎΡΠ°: ΠΎΠ΄ΠΈΠ½ Π±ΠΈΡ Π½Π° Π»ΠΈΠ½ΠΈΡ, Π»Π΅Π³ΠΊΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΡΡΡ
 - 
ΠΠΈΠ±ΠΊΠΎΡΡΡ: Π²Ρ ΠΎΠ΄/Π²ΡΡ ΠΎΠ΄, ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ, Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
 - 
ΠΠΎΠ²ΡΠ΅ΠΌΠ΅ΡΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π² Embedded-ΡΠΈΡΡΠ΅ΠΌΠ°Ρ
 
β ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ
- 
ΠΠ΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° (Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ)
 - 
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΎΠΊΡ ΠΈ ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ
 - 
ΠΠΎΠ·ΠΌΠΎΠΆΠ½Ρ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ ΠΏΡΠΈ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ