This repository contains sample programs for STM32 peripherals, with most examples implemented at the register level. These examples provide a deep understanding of how the hardware is configured at its core. Each peripheral is organized into separate folders for easy navigation. I have also written several blog posts related to STM32 on my website: https://blog.mshafeeqkn.com. Please feel free to visit the site and share your valuable feedback by commenting on the blog posts.
A table of blog posts related to STM32 can be found below.
Here is the associated blog posts
- GPIO - STM32F103C6T6A Bare Metal Programming – GPIO
- EXTI0 - STM32F103C6T6A Bare Metal Programming – External Interrupt (EXTI)
- TIMER
- TIMER_DELAY - STM32F103C6T6A Bare Metal Programming – Timers
- TIMER_CAPTURE - STM32F103C6T6A Bare Metal Programming – Capture mode
- TIMER_COMPARE - STM32F103C6T6A Bare Metal Programming – Compare mode
- ADC
- UART - STM32F103C6T6A Bare Metal Programming – UART
- I2C
- I2C_MASTER
- I2C_MASTER_WRITE - STM32F103C6T6A Bare Metal Programming – I2C Master write
- I2C_MASTER_READ - STM32F103C6T6A Bare Metal Programming – I2C Master read
- I2C_SLAVE - STM32F103C6T6A Bare Metal Programming – I2C Slave Read and Write
- I2C_MASTER
- PERSISTANT