Difference between revisions of "General-purpose input/output (GPIO)"
(4 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
A [[general-purpose input/output]] (GPIO) is an uncommitted digital signal pin on an integrated circuit or electronic circuit board which may be used as an input or output, or both, and is controllable by the user at runtime. | A [[general-purpose input/output]] (GPIO) is an uncommitted digital signal pin on an integrated circuit or electronic circuit board which may be used as an input or output, or both, and is controllable by the user at runtime. | ||
− | + | {{clear}} | |
+ | |||
+ | == Video == | ||
+ | |||
+ | Watch on Youtube here: [https://www.youtube.com/watch?v=TSDS3op91TE https://www.youtube.com/watch?v=TSDS3op91TE] | ||
+ | |||
+ | {{#ev:youtube|TSDS3op91TE}} | ||
+ | |||
+ | == Internal Architecture == | ||
+ | |||
+ | All [[STM32]] [[MCU]]s have a high number of [[GPIO]]s. In fact, almost all pins on a [[MCU]] package, which is not dedicated a power pin are [[GPIO]]s: | ||
<div class="res-img"> | <div class="res-img"> | ||
[[File:STM32F40xxx LQFP64 pinout.png|600px]] | [[File:STM32F40xxx LQFP64 pinout.png|600px]] | ||
+ | </div> | ||
+ | |||
+ | The [[GPIO]]s are divided into a number of ports (the actual number depends on the pins available on any particular package) labelled with letters and starting with "PortA". | ||
+ | |||
+ | <div class="res-img"> | ||
+ | [[File:STM32 block diagram GPIO ports.png|600px]] | ||
+ | </div> | ||
+ | |||
+ | Each of these ports control up to 16 individual [[GPIO]]s each controlled individually through 4 32-bit control registers. The electrical architecture of each [[GPIO]] looks like this: | ||
+ | |||
+ | <div class="res-img"> | ||
+ | [[File:GPIO pin circuit.png|800px]] | ||
</div> | </div> |
Latest revision as of 02:04, 23 October 2024
A general-purpose input/output (GPIO) is an uncommitted digital signal pin on an integrated circuit or electronic circuit board which may be used as an input or output, or both, and is controllable by the user at runtime.
Video
Watch on Youtube here: https://www.youtube.com/watch?v=TSDS3op91TE
Internal Architecture
All STM32 MCUs have a high number of GPIOs. In fact, almost all pins on a MCU package, which is not dedicated a power pin are GPIOs:
The GPIOs are divided into a number of ports (the actual number depends on the pins available on any particular package) labelled with letters and starting with "PortA".
Each of these ports control up to 16 individual GPIOs each controlled individually through 4 32-bit control registers. The electrical architecture of each GPIO looks like this: