Useful Links
Computer Science
Software Engineering
STM32 Microcontroller Development
1. Introduction to STM32 Microcontrollers
2. Foundational Knowledge
3. Setting Up the Development Environment
4. Core Architecture and System Control
5. General Purpose Input/Output (GPIO)
6. Interrupts and Exception Handling
7. Timers (TIM)
8. Direct Memory Access (DMA)
9. Serial Communication Interfaces
10. Analog Peripherals
11. Power Management and Low-Power Modes
12. Software Development and Architecture
13. Debugging and Testing
14. Advanced Topics and Peripherals
General Purpose Input/Output (GPIO)
GPIO Pin Configuration
Input Modes
Floating Input
Pull-up Input
Pull-down Input
Analog Input
Output Modes
Push-Pull Output
Open-Drain Output
Output Speed Settings
Alternate Function Mode
Peripheral Pin Mapping
Alternate Function Selection
Configuration Registers
Mode Register (MODER)
Output Type Register (OTYPER)
Pull-up/Pull-down Register (PUPDR)
GPIO Operations
Reading Input Pins
Input Data Register (IDR)
Bit-level Reading
Writing Output Pins
Output Data Register (ODR)
Bit Set/Reset Register (BSRR)
Atomic Operations
Advanced GPIO Features
Bit-Banding (where available)
Bit-Banding Regions
Atomic Bit Operations
GPIO Locking
Lock Configuration Register (LCKR)
Pin Configuration Protection
External Interrupts (EXTI)
EXTI Line Configuration
Line-to-Pin Mapping
Source Selection
Trigger Configuration
Rising Edge Trigger
Falling Edge Trigger
Both Edges Trigger
EXTI Registers
Interrupt Mask Register (IMR)
Event Mask Register (EMR)
Pending Register (PR)
Interrupt Service Routines
EXTI Handler Implementation
Flag Clearing
Debouncing Techniques
Hardware Debouncing
Software Debouncing
Previous
4. Core Architecture and System Control
Go to top
Next
6. Interrupts and Exception Handling