GPIO - Answers General-purpose I/O port
16 bits wide
x |= (or) - Answers Set a bit
x &= - (and) - Answers clear a bit
x ^= (xor) - Answers toggle a bit
if (x & - Answers check a bit
GPIOx_MODER (mode register) - Answers 00: Input mode
01: General purpose output mode
10: Alternate function mode
11: Analog mode (reset state)
GPIOx_OTYPER (output type register) - Answers 0: Output push-pull (reset state)
1: Output open-drain
GPIOx_OSPEEDR (output speed register) - Answers 00: Low speed
01: Medium speed
10: High speed
11: Very high speed
GPIOx_PUPDR (pull up/pulldown register) - Answers 00: No pull-up, pull-down
01: Pull-up
10: Pull-down
11: Reserved
resiustors
GPIOx_IDR (input data register) - Answers input data (always avail to read pin state)
GPIOx_ODR (output data register) - Answers output data (direct write to pin in output mode)
GPIOx_BSRR (bit set/reset register) - Answers bitwise SET/RESET, set/clr by writing a 1
RCC->AHB2ENR |= (RCC_AHB2ENR_GPIOXEN) - Answers enable GPIOx clk
GPIOx_BRR (bit reset register) - Answers bitwise RESET, clr output to 0 by writing a 1
CMSIS - Answers Cortex Microcontroller Software Interface Standard
HAL - Answers Hardware Abstraction Layer
ARR (Auto-Reload Register) - Answers Sets max count value.
CCR (Capture/Compare Register) - Answers Used for PWM timing