Microcontroller Programming Stm32 Timers Pwm Can Bus Protocol

Learn STM32 Timers, CAN, RTC, PWM, Low Power embedded systems and program them using STM32 Device HAL APIs step by step.

Last updated 2022-01-10 | 4.6

- You will learn from scratch about STM32 Timers : Basic and General Purpose Timers
- Understand General purpose timer's Input capture and Output compare unit handling and Exercises
- Handling of Timer interrupts : Time base interrupts
- capture interrupts
- compare interrupts

What you'll learn

You will learn from scratch about STM32 Timers : Basic and General Purpose Timers
Understand General purpose timer's Input capture and Output compare unit handling and Exercises
Handling of Timer interrupts : Time base interrupts
capture interrupts
compare interrupts
You will learn from scratch CAN Protocol
CAN Signalling
CAN Transceivers
Bus Access procedures
Understand CAN LOOPBACK mode
SILENT mode and NORMAL mode
Understand about CAN filtering
Learn about CAN interrupts
CAN Peripheral programming using STM32 device HAL drivers
You will master Low power modes of the MCU : SLEEP
STOP and STANDBY
You will understand different power domains of the MCU : VDD domain
1.2V domain
backup domain
Understand Microcontroller Wakeup Procedures using : RTC
wakeup pins
EXTI
etc.
You will master RTC Features : CALENDAR
ALARM
TIME STAMP
WAKEUP UNIT
RTC interrupts and wake up procedures
Mastering Microcontroller Clocks Handling : HSE
HSI
LSE
LSI
PLL
Understand phase locked loop (PLL) programming
Learn PWM mode and Master through step by step code exercises
You should be able to quickly develop applications which involves STM32 Device HAL layer

* Requirements

* Basic knowledge of C Programming and Microcontroller could be added advantage but not mandatory

Description

  • You will learn from scratch about STM32 Timers : Basic and General Purpose Timers
  • Understand General purpose timer's Input capture and Output compare unit handling and Exercises
  • Handling of Timer interrupts : Time base interrupts, capture interrupts, compare interrupts
  • You will learn from scratch CAN Protocol, CAN Signalling, CAN Transceivers , Bus Access procedures
  • Understand CAN LOOPBACK mode, SILENT mode and NORMAL mode
  • Understand about CAN filtering
  • Learn about CAN interrupts
  • CAN Peripheral programming using STM32 device HAL drivers
  • You will master Low power modes of the MCU : SLEEP,STOP and STANDBY
  • You will understand different power domains of the MCU : VDD domain, 1.2V domain, backup domain
  • Understand Microcontroller Wakeup Procedures using : RTC, wakeup pins,EXTI,etc.
  • You will master RTC Features : CALENDAR, ALARM , TIME STAMP,WAKEUP UNIT
  • RTC interrupts and wake up procedures
  • Mastering Microcontroller Clocks Handling : HSE,HSI,LSE,LSI,PLL
  • Understand phase locked loop (PLL) programming
  • Learn PWM mode and Master through step by step code exercises
  • You should be able to quickly develop applications which involves STM32 Device HAL layer

Course content

31 sections • 219 lectures

what are we going to do in this course ? Preview 07:15

Important Note Preview 00:43

Source Code and Slides Preview 00:08

Rating and Review Preview 00:32

Note for the students Preview 00:08

About the development board used in this course Preview 03:05

Board Details and Locating Documents Preview 03:04

ST-Link Driver Installation Preview 03:26

ST Link Firmware Upgrade Preview 04:06

Note for the students Preview 00:07

Downloading and Installing OpenSTM32 System-Workbench Preview 05:42

Installing OpenSTM32 System-Workbench Preview 04:52

Important Note Preview 00:11

STM32 CUBE mx installation Preview 04:11

Introduction to STM32 Cube Project Architecture Preview 02:39

Creating and Importing Project into OpenSTM32 System Workbench – Part1 Preview 07:41

Understanding Project Hierarchy Preview 06:32

Project Layers Interaction Preview 09:18

STM32 Cube framework program flow-1 Preview 02:38

STM32 Cube framework program flow-2 Preview 04:05

HAL_Init() Preview 06:51

Understanding main.c msp.c and it.c Preview 07:58

Peripheral Handle Structure Preview 11:49

Linking Handle Structure and Peripheral Preview 13:09

STM32 HAL Header File Hierarchy Preview 06:09

Importing Source Codes Preview 07:33

Project Creation Preview 05:37

Low level Processor specific hardware initialization: Part 1 Preview 02:50

Low level Processor specific hardware initialization: Part 2 Preview 03:39

Low level Processor specific hardware initialization: Part 3 Preview 09:42

Peripheral High Level Initialization Preview 14:17

Peripheral Low Level Initialization Preview 06:15

Peripheral Low Level Initialization : configuring Pin Packs Preview 05:39

Peripheral Low Level Initialization : Alternate function settings Preview 14:18

Peripheral Low Level Initialization : IRQ settings Preview 07:00

STM32 HAL Peripheral data handling APIs Preview 03:49

UART Data TXing : Part 1 Preview 07:36

UART Data TXing : Part 2 Preview 06:17

UART Data RXing: Intro Preview 01:16

Implementing UART DATA RXing in Polling mode Preview 11:30

UART Data RXing in Interrupt Mode : Part 1 Preview 01:16

UART Data RXing in Interrupt Mode : Part 2 Preview 12:08

UART Data RXing in Interrupt Mode : Part 3 Preview 08:35

UART Data RXing in Interrupt Mode : Part 4 Preview 02:18

Introduction to different clock sources of the microcontroller Preview 14:14

Understanding methods to configure the SYSCLK Preview 03:24

Exploring clock handling APIs in RCC driver files Preview 06:39

Exercise : OSC Init and HSE bypass Preview 11:33

Exercise : Clock init implementation Preview 16:31

Exercise : SYSTICK configuration and summary Preview 09:20

Exercise : Testing Preview 01:16

Understanding HSI calibration Preview 09:08

PLL introduction and working principle Preview 08:55

Exercise : PLL Configuration via HSI Part 1 Preview 16:31

Exercise : PLL Configuration via HSI Part 2 Preview 10:37

Exercise : PLL Configuration via HSE Preview 02:29

Exercise : PLL Configuration for 180MHz Preview 00:54

Exercise : PLL Configuration for 180MHz implementation Preview 05:55

Introduction to Timers Preview 07:03

Types of Timers Preview 02:14

Timer Availability in STM32 MCUs Preview 06:25

Timer Availability in STM32 MCUs : Summary Preview 03:06

STM32 Basic Timer Assembly Preview 07:34

Timer Exercise : Project creation Preview 04:58

Timer Exercise : Understanding Timer Clock (TIMx_CLK) Preview 16:20

Timer Exercise : Understanding Prescaler and Period(ARR) Preview 06:15

Timer Exercise : Period Value Calculation Preview 04:19

Timer Exercise : MSP Init Implementation Preview 12:10

Timer Exercise : Test Preview 15:22

Timer Exercise : Interrupt Mode Preview 15:07

Timer Exercise : 10 Micro timer base generation Preview 07:18

Timer with input capture block Preview 08:03

Input Capture Exercise : working principle Preview 04:16

Input Capture Exercise : time base init Preview 10:59

Input Capture Exercise : Channel Configuration Preview 13:32

Input Capture Exercise : Channel Configuration Coding Preview 10:45

LSE Configuration Preview 10:16

Testing of LSE on MCO1 Pin Preview 06:12

Timer Input Capture Callback Implementation Preview 15:28

Input Capture Exercise : Testing Preview 03:02

Input Capture Exercise : Update on HSE Preview 00:51

Input Capture Exercise : with 4Mhz external signal Preview 06:39

Input Capture Exercise : with 50KHz external signal Preview 03:35

Timer Output compare Introduction Preview 06:56

Output Compare Exercise : Project Creation Preview 01:07

Output Compare Exercise Coding : Part 1 Preview 12:43

Output Compare Exercise Coding : Part 2 Preview 05:26

Output Compare Exercise Coding : Part 3 Preview 04:08

Output Compare Exercise Coding : Part 4 Preview 10:21

Output Compare Assignment Preview 01:09

PWM Introduction Preview 05:16

PWM Exercise : Part 1 Preview 01:00

PWM Exercise : Part 2 Preview 01:07

PWM Exercise : Part 3 Preview 07:46

PWM Exercise : Part 4 Preview 07:22

PWM Exercise : Part 5 Preview 04:14

PWM Exercise : Part 6 Preview 02:39

PWM Exercise : Part 7 Preview 05:39

LED brightness control using PWM signal: Part 1 Preview 03:13

LED brightness control using PWM signal: Part 2 Preview 11:07

CAN section introduction Preview 02:29

Introduction to CAN Preview 03:18

CAN's most attractive features Preview 04:28

Summary of CAN features Preview 02:00

Understanding a CAN and its parts Preview 05:59

CAN single ended signals Vs Differential signal Preview 02:58

Understanding CAN differential signals Preview 08:34

CAN Dominant and Recessive Signal states Preview 03:53

CAN signalling summary Preview 01:51

CAN Message format explanation : Arbitration field Preview 06:26

Standard CAN Vs Extended CAN Preview 06:27

CAN Message format explanation : ACK bit Preview 04:00

ACK Summary Preview 01:53

CAN Message format explanation : EOF, IFS and SOF Preview 02:43

CAN remote frame Preview 01:40

Understanding CAN bit wise arbitration Preview 08:04

STM32 bxCAN introdcution Preview 04:48

STM32 bxCAN block diagram Preview 05:59

STM32 bxCAN self test modes Preview 03:21

Exercise : CAN loop back mode : Project Creation Preview 03:07

CAN bit timing calculation Preview 14:05

Exercise : CAN loop back mode : Coding init function Preview 06:22

Exploring bxCAN TX path Preview 08:42

Exercise : CAN loop back mode : Coding Tx function Preview 09:07

understanding bxCAN operating modes Preview 03:01

Exercise : CAN loop back mode : MSP code implementation Preview 01:08

CAN loopback connection details Preview 04:06

Exercise : CAN loop back mode : Testing and Protocol decoding Preview 07:11

STM32 bxCAN RX block diagram and acceptance filters Preview 07:01

Understanding bxCAN acceptance filtering with examples Preview 12:01

Exploring filtering data structures Preview 04:53

Exercise : CAN loop back mode : Coding RX function Preview 05:42

Exercise : CAN filter config implementation and testing TX-RX Preview 08:54

Understanding STM32 bxCAN Interrupt requests (IRQs) Preview 15:16

CAN LOOPBACK interrupt mode implementation Part -1 Preview 10:20

CAN LOOPBACK interrupt mode implementation Part -2 Preview 04:39

Exercise : CAN Normal Node Introduction - Part-1 Preview 02:41

Exercise : CAN Normal Node Project Creation- Part-2 Preview 01:33

Exercise : CAN Normal Node Code Implementation - Part-3 Preview 05:19

Exercise : CAN Normal Node Code Implementation - Part-4 Preview 01:46

Exercise : CAN Normal Node Code Implementation - Part-5 Preview Processing..

Exercise : CAN Normal Node Testing TX - Part-6 Preview 05:51

Exercise : CAN Normal Node Testing TX - Part-7 Preview 01:42

Exercise : CAN Normal Node RX Code implementation- Part-8 Preview 06:14

Exercise : CAN Normal Node RX Code implementation- Part-9 Preview 04:22

Exercise : CAN Normal Node Sending Remote Frame Part-10 Preview 01:27

Exercise : CAN Normal Node Testing- Part-11 Preview 02:52

Exercise : CAN Normal Node Testing TX at 1Mbit/sec - Part-12 Preview 05:04

Exercise : CAN Normal Configuring acceptance filtering - Part-13 Preview 05:06

Exercise : CAN Normal Configuring acceptance filtering - Part-14 Preview 02:34

Section Introduction Preview 01:53

MCU low power modes introduction Preview 03:55

Processor specific low power modes Preview 06:53

Entering normal and deep sleep modes Preview 02:11

Entering sleep mode using SLEEPONEXIT feature Preview 04:04

Exercise : Usage of SLEEPONEXIT feature Preview 02:41

waking up from SLEEPONEXIT feature Preview 02:50

Exercise : test SLEEPONEXIT feature -creating a project Preview 00:40

Exercise : Implementation and current measurement without SLEEPONEXIT feature Preview 05:16

Current measurement with SLEEPONEXIT feature Preview 05:22

SLEEPONEXIT Exercise summary Preview 02:02

Tips to reduce current consumption Preview 03:38

Current measurement with increased HCLK frequency Preview 03:43

Current measurement with increased UART baudrate Preview 05:35

Clock gating and RCC Low power register settings Preview 08:21

IO analog mode and effect on current consumption Preview 02:38

Current measurement in IO analog mode Preview 05:05

Understanding WFI instruction Preview 04:43

WFI Exercise Introduction Preview 00:46

WFI Exercise Implementation Preview 06:45

Understanding WFE and event register of ARM Cortex Mx processor Preview 10:02

WFE wake-up behavior and Comparison with WFI Preview 10:40

WFE exercise introduction Preview 01:11

WFE project explanation Preview 00:49

Generating Peripheral events in STM32 MCU Preview 06:15

WFE project implementation-Part1 Preview 01:51

WFE project implementation-Part2 Preview 03:01

Difference and similarity between WFI and WFE Preview 01:44

When to use WFE and WFI ? Preview 03:57

STM32 voltage regulator and its modes Preview 12:39

Voltage regulator Over Drive and Power Down mode Preview 05:02

Current measurement with core-mark in Run mode-Part1 Preview 17:06

Current measurement with core-mark in Run mode-Part2 Preview 02:54

Run mode current measurement + HCLK180MHz+ all peripherals enabled Preview 02:09

Run mode current measurement + HCLK180MHz + all peripherals enabled + ART Preview 02:01

SLEEP mode current measurement Preview 04:20

SLEEP mode and Voltage regulator settings to save current Preview 10:21

STOP mode and wake-up latency Preview 04:45

STOP mode current measurement Preview 14:23

Microcontroller wake-up Pins discussion Preview 05:58

Understanding STM32 BACKUP SRAM Preview 03:43

Different types of MCU resets Preview 06:08

BACKUP SRAM exercise Intro Preview 01:10

Backup SRAM Exercise implementation part 1 Preview 15:26

Backup SRAM Exercise implementation part 2 Preview 10:54

RTC Introduction Preview 05:04

RTC BCD programming example Preview 09:02

RTC block diagram and RTC Clock selection Preview 07:44

RTC and STM32 device HAL APIs explanation Preview 04:55

Exercise : RTC Calendar Part-1 Preview 09:46

Exercise : RTC Calendar Part-2 Preview 05:46

Exercise : RTC Calendar Part-3 Preview 06:19

Exercise : RTC Calendar Part-4 Preview 11:24

Exercise : RTC Calendar Testing Preview 02:38

Exercise : RTC Calendar Testing with system reset and STANDBY exit Preview 05:55

RTC Alarm Introduction Preview 07:38

STM32 CUBE APIs for RTC Alarm Handling Preview 04:53

RTC Interrupts and IRQ numbers Preview 05:53

RTC Interrupts Summary Preview 01:46

RTC Alarm Exercise-1 Preview 10:20

RTC Alarm Exercise-1 Testing Preview 03:45

RTC Alarm Exercise-2 Preview 01:07

RTC Alarm Exercise-2 Testing Preview 03:12

RTC Alarm Exercise-3 Preview 07:01

RTC Alarm Exercise-4 Preview 03:56

BONUS LECTURE Preview 01:28