Skip to content

Latest commit

Β 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Embedded-C & STM32 Microcontroller Programming

This repository contains C source codes and STM32 microcontroller firmware projects covering fundamental and advanced embedded systems programming concepts.

πŸ“‚ Repository Structure

Embedded-C_STM32/
β”œβ”€β”€ All_source_codes/
β”‚   β”œβ”€β”€ host/               # C programs executed on host machine
β”‚   β”‚   β”œβ”€β”€ ASCII/
β”‚   β”‚   β”œβ”€β”€ Average/
β”‚   β”‚   β”œβ”€β”€ arrays/
β”‚   β”‚   β”œβ”€β”€ bitWise2Numbers/
β”‚   β”‚   β”œβ”€β”€ bitWiseEvenOdd/
β”‚   β”‚   β”œβ”€β”€ bitWiseSet/
β”‚   β”‚   β”œβ”€β”€ constdata/
β”‚   β”‚   β”œβ”€β”€ dataAlignment/
β”‚   β”‚   β”œβ”€β”€ forLoopEvenNum/
β”‚   β”‚   β”œβ”€β”€ function/
β”‚   β”‚   β”œβ”€β”€ macro/
β”‚   β”‚   β”œβ”€β”€ math/
β”‚   β”‚   β”œβ”€β”€ pointer/
β”‚   β”‚   β”œβ”€β”€ strings/
β”‚   β”‚   β”œβ”€β”€ structPacket/
β”‚   β”‚   β”œβ”€β”€ structPacketBitfield/
β”‚   β”‚   β”œβ”€β”€ structPointer/
β”‚   β”‚   β”œβ”€β”€ union/
β”‚   β”‚   └── ...
β”‚   └── target/             # STM32 target firmware applications
β”‚       β”œβ”€β”€ itm_send_data.c
β”‚       └── stm32f407_disc/
β”‚           β”œβ”€β”€ 001HelloWorld/
β”‚           β”œβ”€β”€ 002Sizeof/
β”‚           β”œβ”€β”€ 003Add/
β”‚           β”œβ”€β”€ 004led_on/
β”‚           β”œβ”€β”€ 005led_toggle/
β”‚           β”œβ”€β”€ 006pin_read/
β”‚           β”œβ”€β”€ 007volatile/
β”‚           β”œβ”€β”€ 008button_ISR/
β”‚           β”œβ”€β”€ 009packed_Vsnonpacked/
β”‚           β”œβ”€β”€ 010led_toggle_bitfields/
β”‚           └── 011keypad/

πŸ› οΈ Highlights

  • Host Programs: Data types, bitwise manipulation, pointers, data alignment & packing, structures, unions, preprocessor macros.
  • Target STM32F407 Projects: Peripheral register access, GPIO configuration, interrupt service routines (ISR), volatile qualifiers, bitfield-based register manipulation, and keypad interfacing.

About

Bare-metal peripheral drivers (GPIO, USART, Timers, I2C, SPI) and register-level firmware for STM32 (ARM Cortex-M).

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages