Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
stm32:peripherals:gpio_input [2016/06/07 07:03] – feur | stm32:peripherals:gpio_input [2022/12/28 08:15] (current) – ruan | ||
---|---|---|---|
Line 9: | Line 9: | ||
\\ {{gpio_input.svg}} \\ \\ | \\ {{gpio_input.svg}} \\ \\ | ||
- | ===== Programming | + | ===== Programming |
- | The code snippet bellow shows how to configure and use a GPIO pin as input. | + | ==== Enable Peripheral ==== |
- | <code c> | + | Make sure the peripheral is enabled: |
- | #include " | + | * Enable GPIOx in '' |
- | RCC-> | + | ==== Setup input mode ==== |
- | /* Configure | + | Configure |
- | GPIOA->MODER &= ~(0x3 << 20u); /* Clear existing mode bits 20 and 21. */ | + | |
- | + | * Configure | |
- | GPIOA-> | + | |
- | GPIOA-> | + | |
- | + | ||
- | /* Read from GPIO pin A.10. */ | + | |
- | uint32_t data = GPIOA-> | + | |
- | </ | + | |
- | \\ | + | |
- | + | ||
- | > {{logo_hal.svg? | + | |
- | > [[https:// | + | |
- | > [[https:// | + | |
\\ | \\ | ||
===== Configuration Registers ===== | ===== Configuration Registers ===== | ||
- | ==== MODER ==== | + | ==== GPIOx_MODER - GPIO port mode register |
- | + | ||
- | Mode register | + | |
\\ {{gpio_reg_common.svg}} \\ \\ | \\ {{gpio_reg_common.svg}} \\ \\ | ||
Line 45: | Line 32: | ||
|Pin x|00|Input mode (reset state)| | |Pin x|00|Input mode (reset state)| | ||
- | ==== PUPDR ==== | + | ==== GPIOx_PUPDR - GPIO port pull-up / pull-down register |
- | + | ||
- | Push-up / pull-down register | + | |
\\ {{gpio_reg_common.svg}} \\ \\ | \\ {{gpio_reg_common.svg}} \\ \\ | ||
Line 58: | Line 43: | ||
===== Data Registers ===== | ===== Data Registers ===== | ||
- | ==== IDR ==== | + | ==== GPIOx_IDR - Port input data register |
- | + | ||
- | Input data register | + | |
\\ {{gpio_reg_idr.svg}} \\ \\ | \\ {{gpio_reg_idr.svg}} \\ \\ | ||
Line 66: | Line 49: | ||
* Register is read only \\ \\ | * Register is read only \\ \\ | ||
- | ===== Legend ===== | ||
- | |||
- | \\ {{legende.svg}} \\ \\ |