Introduction
  • what are we going to do in this course ?
  • Important Note
  • Source Code
  • Rating and Review
Development board details
  • Note for the students
  • About the development board used in this course
  • Board Details and Locating Documents
  • ST-Link Driver Installation
  • ST Link Firmware Upgrade
Hardware/Software Requirements
  • Hardware/Software Requirements
Installing OpenSTM32 System-Workbench
  • Note for the students
  • Downloading and Installing OpenSTM32 System-Workbench
  • Installing OpenSTM32 System-Workbench
  • Important Note
  • STM32 CUBE mx installation
STM32 HAL and Project Architecture
  • Introduction to STM32 Cube Project Architecture
  • Creating and Importing Project into OpenSTM32 System Workbench – Part1
  • Understanding Project Hierarchy
  • Project Layers Interaction
  • STM32 Cube framework program flow-1
  • STM32 Cube framework program flow-2
  • HAL_Init()
  • Understanding main.c msp.c and it.c
  • Peripheral Handle Structure
  • Linking Handle Structure and Peripheral
  • STM32 HAL Header File Hierarchy
Understanding STM32 HAL program flow with UART exercise
  • Importing Source Codes
  • Project Creation
  • Low level Processor specific hardware initialization: Part 1
  • Low level Processor specific hardware initialization: Part 2
  • Low level Processor specific hardware initialization: Part 3
  • Peripheral High Level Initialization
  • Peripheral Low Level Initialization
  • Peripheral Low Level Initialization : configuring Pin Packs
  • Peripheral Low Level Initialization : Alternate function settings
  • Peripheral Low Level Initialization : IRQ settings
  • STM32 HAL Peripheral data handling APIs
  • UART Data TXing : Part 1
  • UART Data TXing : Part 2
  • UART Data RXing: Intro
  • Implementing UART DATA RXing in Polling mode
  • UART Data RXing in Interrupt Mode : Part 1
  • UART Data RXing in Interrupt Mode : Part 2
  • UART Data RXing in Interrupt Mode : Part 3
  • UART Data RXing in Interrupt Mode : Part 4
Clocks and PLL Programming
  • Introduction to different clock sources of the microcontroller
  • Understanding methods to configure the SYSCLK
  • Exploring clock handling APIs in RCC driver files
  • Exercise : OSC Init and HSE bypass
  • Exercise : Clock init implementation
  • Exercise : SYSTICK configuration and summary
  • Exercise : Testing
  • Understanding HSI calibration
  • PLL introduction and working principle
  • Exercise : PLL Configuration via HSI Part 1
  • Exercise : PLL Configuration via HSI Part 2
  • Exercise : PLL Configuration via HSE
  • Exercise : PLL Configuration for 180MHz
  • Exercise : PLL Configuration for 180MHz implementation
Timers
  • Introduction to Timers
  • Types of Timers
  • Timer Availability in STM32 MCUs
  • Timer Availability in STM32 MCUs : Summary
  • STM32 Basic Timer Assembly
  • Timer Exercise : Project creation
  • Timer Exercise : Understanding Timer Clock (TIMx_CLK)
  • Timer Exercise : Understanding Prescaler and Period(ARR)
  • Timer Exercise : Period Value Calculation
  • Timer Exercise : MSP Init Implementation
  • Timer Exercise : Test
  • Timer Exercise : Interrupt Mode
  • Timer Exercise : 10 Micro timer base generation
General Purpose Timer: Input Capture Unit
  • Timer with input capture block
  • Input Capture Exercise : working principle
  • Input Capture Exercise : time base init
  • Input Capture Exercise : Channel Configuration
  • Input Capture Exercise : Channel Configuration Coding
  • LSE Configuration
  • Testing of LSE on MCO1 Pin
  • Timer Input Capture Callback Implementation
  • Input Capture Exercise : Testing
  • Input Capture Exercise : Update on HSE
  • Input Capture Exercise : with 4Mhz external signal
  • Input Capture Exercise : with 50KHz external signal
Timer's Output Compare unit
  • Timer Output compare Introduction
  • Output Compare Exercise : Project Creation
  • Output Compare Exercise Coding : Part 1
  • Output Compare Exercise Coding : Part 2
  • Output Compare Exercise Coding : Part 3
  • Output Compare Exercise Coding : Part 4