STM32 Microcontroller Development

  1. General Purpose Input/Output (GPIO)
    1. GPIO Pin Configuration
      1. Input Modes
        1. Floating Input
          1. Pull-up Input
            1. Pull-down Input
              1. Analog Input
              2. Output Modes
                1. Push-Pull Output
                  1. Open-Drain Output
                    1. Output Speed Settings
                    2. Alternate Function Mode
                      1. Peripheral Pin Mapping
                        1. Alternate Function Selection
                        2. Configuration Registers
                          1. Mode Register (MODER)
                            1. Output Type Register (OTYPER)
                              1. Pull-up/Pull-down Register (PUPDR)
                            2. GPIO Operations
                              1. Reading Input Pins
                                1. Input Data Register (IDR)
                                  1. Bit-level Reading
                                  2. Writing Output Pins
                                    1. Output Data Register (ODR)
                                      1. Bit Set/Reset Register (BSRR)
                                        1. Atomic Operations
                                      2. Advanced GPIO Features
                                        1. Bit-Banding (where available)
                                          1. Bit-Banding Regions
                                            1. Atomic Bit Operations
                                            2. GPIO Locking
                                              1. Lock Configuration Register (LCKR)
                                                1. Pin Configuration Protection
                                              2. External Interrupts (EXTI)
                                                1. EXTI Line Configuration
                                                  1. Line-to-Pin Mapping
                                                    1. Source Selection
                                                    2. Trigger Configuration
                                                      1. Rising Edge Trigger
                                                        1. Falling Edge Trigger
                                                          1. Both Edges Trigger
                                                          2. EXTI Registers
                                                            1. Interrupt Mask Register (IMR)
                                                              1. Event Mask Register (EMR)
                                                                1. Pending Register (PR)
                                                                2. Interrupt Service Routines
                                                                  1. EXTI Handler Implementation
                                                                    1. Flag Clearing
                                                                    2. Debouncing Techniques
                                                                      1. Hardware Debouncing
                                                                        1. Software Debouncing