Mastering Microcontroller : TIMERS, PWM, CAN, RTC,LOW POWER
4.6 (1,196 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
9,821 students enrolled

Mastering Microcontroller : TIMERS, PWM, CAN, RTC,LOW POWER

learn STM32 TIMERS, CAN,RTC, PWM,LOW POWER embedded systems and program them using STM32 Device HAL APIs STEP by STEP
Highest Rated
4.6 (1,196 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
9,830 students enrolled
Last updated 8/2020
English
English, French, 10 more
  • German
  • Indonesian
  • Italian
  • Japanese
  • Polish
  • Portuguese
  • Romanian
  • Spanish
  • Thai
  • Turkish
Current price: $20.99 Original price: $29.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 21.5 hours on-demand video
  • 6 articles
  • 3 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Assignments
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
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

Update: English closed captions have been added, transcript available

>>Welcome to the course which teaches you advanced Micro-controller programming. In this course you are going to learn and master TIMERS, PWM, CAN, RTC, LOW POWER MODES of STM32F4x Micro-controller with step by step guidance. Highly recommended if you are seeking a career in the domain of Embedded software. <<

In this course, you will understand behind the scene working of peripherals with supportive code exercises. I have included various real-time exercises which help you to master every peripheral covered in this course and this course thoroughly covers both theory and practical aspects of TIMERS, PWM, CAN, RTC, LOW POWER MODES of STM32F4x Micro-controller.


In TIMER Section the course covers,

1. Simple time-based generation using the basic timer in both polling and interrupt mode

2. Timer interrupts and IRQ numbers, ISR implementation, callbacks, etc

3. General purpose timer

4. Working with Input Capture channels of General purpose timer

5. Interrupts, IRQs, ISRs, callbacks related to Input Capture engine of the general purpose timer

6. Working with output capture channels of the General purpose timer

7. Interrupts, IRQs, ISRs, callbacks related to Output Capture engine of the general purpose timer

8. PWM generation using output capture modes

9. PWM Exercises

10. Step by Step code development process will help you to master the TIMER peripheral


In CAN Section the course covers,

1. Introduction to the CAN protocol

2. CAN frame formats

3. Understanding a CAN node

4. CAN signaling (single-ended signals vs differential signals ) \

5. CAN Bus recessive state and dominant state

6. CAN Bit timing Calculation \

7. CAN network with Transceivers

8. Exploring inside view of CAN transceivers

9. CAN Self-test modes such as LOOPBACK, SILENT LOOPBACK, etc with code exercises.

10. Exploring STM32 bXCAN peripheral

11. self-testing of bxCAN peripheral with exercises

12. bXCAN block diagram

13. Tx/Rx path of the bxCAN Peripheral

14. CAN frame filtering and executrices

15. CAN in Normal Mode

16. Communicating between 2 boards over CAN

17. Code exercises


In the Power Controller Section the course covers,

1. ARM Cortex Mx Low Power Modes Normals Vs DeepSleep

2. STM32 SLEEP mode

3. STOP mode

4. STANDBY mode

5. Current measurement with different submode

6. Waking up MCU by using wakeup pins, EXTI, RTC, etc

7. Backup SRAM

8. Step by Step coverage with lots of code exercises.


In RTC Section the course covers,

1. RTC functional block diagram

2. RTC clock management

3. RTC calendar unit

4. RTC Alarm unit

5. RTC wake-up unit

6. RTC Time Stamp Unit

7. waking up MCU using RTC events

8. RTC interrupts

9. and lots of other details with step by step code exercises.


STM32 Device Hal framework

1. STM32 Device Hal framework details

2. APIs details

3. Interrupt handling

4. Callback implementation

5. Peripheral Handling and configurations

6. Step by Step explanation with code exercises.


==> Important note: This course is NOT about auto-generating code using STM32CubeMx software<==


Hardware used :

STM32F446RE-NUCLEO Board

CAN Transceivers for CAN Exercises


IDE used :

Eclipse-based OpenSTM32 SystemWorkbench


Learning order of FastBit Embedded Brain Academy Courses,

If you are a beginner in the field of embedded systems, then you can take our courses in the below-mentioned order.
This is just a recommendation from the instructor for beginners.

1) Microcontroller Embedded C Programming: absolute beginners(Embedded C)

2) Embedded Systems Programming on ARM Cortex-M3/M4 Processor(Optional )(ARM Cortex M4 Processor specific)

2) Mastering Microcontroller with Embedded Driver Development(MCU1)

3) Mastering Microcontroller: TIMERS, PWM, CAN, RTC,LOW POWER(MCU2)

4) Mastering RTOS: Hands-on FreeRTOS and STM32Fx with Debugging(RTOS)

5) ARM Cortex M Microcontroller DMA Programming Demystified(DMA)

6) STM32Fx Microcontroller Custom Bootloader Development(Bootloader)

7) Embedded Linux Step by Step using Beaglebone Black(Linux)

Who this course is for:
  • Professionals interested in exploring Embedded systems
  • Anyone who wants to start career in Embedded Systems
  • Anyone who wants to learn Microcontroller programming in depth
  • Students in the domain of Embedded Systems
Course content
Expand all 217 lectures 21:23:51
+ Introduction
4 lectures 08:38
Important Note
00:43
Source Code
00:08
Rating and Review
00:32
+ Development board details
5 lectures 13:49
Note for the students
00:08
About the development board used in this course
03:05
Board Details and Locating Documents
03:04
ST-Link Driver Installation
03:26
ST Link Firmware Upgrade
04:06
+ Installing OpenSTM32 System-Workbench
4 lectures 14:52
Note for the students
00:07
Downloading and Installing OpenSTM32 System-Workbench
05:42
Installing OpenSTM32 System-Workbench
04:52
STM32 CUBE mx installation
04:11
+ STM32 HAL and Project Architecture
11 lectures 01:18:49
Introduction to STM32 Cube Project Architecture
02:39
Creating and Importing Project into OpenSTM32 System Workbench – Part1
07:41
Understanding Project Hierarchy
06:32
Project Layers Interaction
09:18
STM32 Cube framework program flow-1
02:38
STM32 Cube framework program flow-2
04:05
HAL_Init()
06:51
Understanding main.c msp.c and it.c
07:58
Peripheral Handle Structure
11:49
Linking Handle Structure and Peripheral
13:09
STM32 HAL Header File Hierarchy
06:09
+ Understanding STM32 HAL program flow with UART exercise
19 lectures 02:11:35
Importing Source Codes
07:33
Project Creation
05:37
Low level Processor specific hardware initialization: Part 1
02:50
Low level Processor specific hardware initialization: Part 2
03:39
Low level Processor specific hardware initialization: Part 3
09:42
Peripheral High Level Initialization
14:17
Peripheral Low Level Initialization
06:15
Peripheral Low Level Initialization : configuring Pin Packs
05:39
Peripheral Low Level Initialization : Alternate function settings
14:18
Peripheral Low Level Initialization : IRQ settings
07:00
STM32 HAL Peripheral data handling APIs
03:49
UART Data TXing : Part 1
07:36
UART Data TXing : Part 2
06:17
UART Data RXing: Intro
01:16
Implementing UART DATA RXing in Polling mode
11:30
UART Data RXing in Interrupt Mode : Part 1
01:16
UART Data RXing in Interrupt Mode : Part 2
12:08
UART Data RXing in Interrupt Mode : Part 3
08:35
UART Data RXing in Interrupt Mode : Part 4
02:18
+ Clocks and PLL Programming
14 lectures 01:57:26
Introduction to different clock sources of the microcontroller
14:14
Understanding methods to configure the SYSCLK
03:24
Exploring clock handling APIs in RCC driver files
06:39
Exercise : OSC Init and HSE bypass
11:33
Exercise : Clock init implementation
16:31
Exercise : SYSTICK configuration and summary
09:20
Exercise : Testing
01:16
Understanding HSI calibration
09:08
PLL introduction and working principle
08:55
Exercise : PLL Configuration via HSI Part 1
16:31
Exercise : PLL Configuration via HSI Part 2
10:37
Exercise : PLL Configuration via HSE
02:29
Exercise : PLL Configuration for 180MHz
00:54
Exercise : PLL Configuration for 180MHz implementation
05:55
+ Timers
13 lectures 01:48:11
Introduction to Timers
07:03
Types of Timers
02:14
Timer Availability in STM32 MCUs
06:25
Timer Availability in STM32 MCUs : Summary
03:06
Timer Exercise : Project creation
04:58
Timer Exercise : Understanding Timer Clock (TIMx_CLK)
16:20
Timer Exercise : Understanding Prescaler and Period(ARR)
06:15
Timer Exercise : Period Value Calculation
04:19
Timer Exercise : MSP Init Implementation
12:10
Timer Exercise : Test
15:22
Timer Exercise : Interrupt Mode
15:07
Timer Exercise : 10 Micro timer base generation
07:18
+ General Purpose Timer: Input Capture Unit
12 lectures 01:33:38
Input Capture Exercise : working principle
04:16
Input Capture Exercise : time base init
10:59
Input Capture Exercise : Channel Configuration
13:32
Input Capture Exercise : Channel Configuration Coding
10:45
LSE Configuration
10:16
Testing of LSE on MCO1 Pin
06:12
Timer Input Capture Callback Implementation
15:28
Input Capture Exercise : Testing
03:02
Input Capture Exercise : Update on HSE
00:51
Input Capture Exercise : with 4Mhz external signal
06:39
Input Capture Exercise : with 50KHz external signal
03:35
+ Timer's Output Compare unit
7 lectures 41:50
Timer Output compare Introduction
06:56
Output Compare Exercise : Project Creation
01:07
Output Compare Exercise Coding : Part 1
12:43
Output Compare Exercise Coding : Part 2
05:26
Output Compare Exercise Coding : Part 3
04:08
Output Compare Exercise Coding : Part 4
10:21
Output Compare Assignment
01:09
+ PWM
10 lectures 49:23
PWM Introduction
05:16
PWM Exercise : Part 1
01:00
PWM Exercise : Part 2
01:07
PWM Exercise : Part 3
07:46
PWM Exercise : Part 4
07:22
PWM Exercise : Part 5
04:14
PWM Exercise : Part 6
02:39
PWM Exercise : Part 7
05:39
LED brightness control using PWM signal: Part 1
03:13
LED brightness control using PWM signal: Part 2
11:07