STM32F103

The STM32F103 Arm Microcontroller & Embedded Systems: Using Assembly & C

Order the book from Amazon ($25.0)

Order the print replica eBook from Amazon ($12.5)

Order of Reading the Chapters

Chapter 0: Introduction to Computing

Power Point

Chapter 0: Introduction to Computing

Lab 0: Numbering Systems

Chapter 1: The STM32F103 Arm Micro-controller: History and Features

Power Point: Computer History

Power Point: Introduction to STM32F103

STM32 development boards of ST

List of available STM32 boards

STM32 family

Chapter 2: Arm Architecture and Assembly Language Programming

Power Point

Source Codes

Installing the Keil for STM32F10x step by step tutorial

STM32 Assembly Programming in Keil step by step tutorial

Lab: Assembler

Chapter 3: Arithmetic and Logic Instructions

Power Point

Source Codes

Writing a Single File Assembly Program in Keil step by step tutorial

Lab: Simulator

Lab: Flags

Chapter 4: Branch, Call, and Stack in Arm

Power Point

Source Codes

Lab: Branch

Lab: Function call

Lab: Stack, Push, and Pop

Which Chapter Should I Study Next?

Chapter 5: Signed Integer Numbers Arithmetic

Power Point

Source Codes

Lab: Sign Extending

Chapter 6: Arm Addressing Modes

Power Point

Source Codes

Chapter 7: C for Embedded Systems

Power Point

Chapter 8: STM32F103 I/O Programming

Programming the Blue Pill and Debugging Using ST-Link

Power Point

Source Codes in Assembly

Source Codes in C

Lab 8: GPIOs

The Blue Pill Board Schematics

Chapter 9: LCD and Keyboard Interfacing

Power Point

Source Codes

Lab 9a: LCD

Lab 9b: Keyboard

Chapter 10: UART Serial Port Programming

Power Point

Source Codes

Terminal bpp software

Lab 10: UART

Chapter 11: STM32 Arm Timer Programming

Power Point

Source Codes

Lab 11a: Timers

Lab 11b: Output Compare mode

Lab 11c: Input Capturing

Lab 11d: Counter

Chapter 12: Interrupt and Exception Programming

Power Point

Source Codes

A Sample Arm Cortex-M Interrupt Program in Assembly

Lab 12: Interrupt

Chapter 13: ADC, DAC, and Sensor Interfacing

Power Point

Source Codes

Lab 13: ADC and LM35

Chapter 14: Relay, Optoisolator, and Stepper Motor Interfacing

Power Point

Source Codes

Lab 14: Stepper Motor

Chapter 15: PWM and DC Motor

Power Point

Source Codes

Lab 15a: PWM

Lab 15b: DC Motor

Chapter 16: I2C Protocol and RTC Interfacing

Power Point

Source Codes

Lab 16: I2C and RTC

Chapter 17: SPI Protocol and Devices

Power Point

Source Codes

Chapter 18: Programming Graphic LCD

Power Point

Source Codes

Chapter 19: Direct Memory Access (DMA)

Power Point

Source Codes

Appendix A: Arm Cortex-M3 Assembly Instructions

Appendix B: Arm Assembler Directives

Appendix C: Macros

Appendix D: Passing Arguments into Functions

Appendix E: ASCII Codes

Appendix E: ASCII codes

Appendix F: Advanced C Programming

Appendix F: Advanced C Programming

Appendix G: Flowcharts and Pseudo-code

Appendix G: Flowcharts

Appendix H: IC Interfacing and System Design Issues

Appendix H: IC Interfacing and System Design Issues

Appendix I: Basics of Wire Wrapping

Appendix I: Wire Wrapping

Additional Resources

ARMv7-M Architecture Reference Manual

Thumb-2 Supplement

STM32F1 HAL and Low-Layer drivers (User manual UM1850)