How kbabalad/embedded_c_programming works
This repository is a beginner-focused Embedded C course: learners study C concepts and apply them in STM32 GPIO examples. The samples show standalone exercises, a console-based student-record program, and target code that accesses memory-mapped registers. The README documents broader topics, so unsampled course areas are represented by their existing directories without implying calls or a lesson sequence. The board is identified in the README; wiring beyond the sampled GPIO examples is not shown.
Main entry points: Target Register Access · Record_management_app_alpha/main.c Student Records · Src/main.c GPIO Output · Src/main.c GPIO Input and Output
Components 17
C Fundamentals
- Types and Control
0004Loops_in _C - Functions and Storage
Storage_class - Preprocessor
0009Preprocessor_Directives
Data and Memory
- Pointers and Qualifiers
0001Pointer_Discussion - Arrays and Strings
0007Strings_in_C - Structs and Unions
00003StructInit - Dynamic Allocation
0008Dynamic_Memory_Allocation - Memory Layout
memory_layout
Embedded Programming
- Bit Operations
Bit_shifting - Register Access
Target - GPIO Output
Target/Led_On/Src/main.c - GPIO Input and Output
Target/IO_Pin_Read/Src/main.c - Bitfield Registers
Target/Led_Toogle_struct_Bit_fields/Src/main.c
Example Programs
- Student Records
Record_management_app_alpha/main.c
Other components
- Learner
- Console User
- STM32 Board
Connections 19
- Learner → Types and Control: studies
- Learner → Functions and Storage: studies
- Learner → Preprocessor: studies
- Learner → Pointers and Qualifiers: studies
- Learner → Arrays and Strings: studies
- Learner → Structs and Unions: studies
- Learner → Dynamic Allocation: studies
- Learner → Memory Layout: studies
- Learner → Bit Operations: studies
- Learner → Register Access: studies
- Learner → Student Records: studies
- Register Access → GPIO Output: includes examples
- Register Access → GPIO Input and Output: includes examples
- Register Access → Bitfield Registers: includes examples
- GPIO Output → STM32 Board: writes registers
- GPIO Input and Output → STM32 Board: reads and writes
- Bitfield Registers → STM32 Board: writes registers
- Console User → Student Records: enters menu choices
- Student Records → Console User: prints records