What you'll learn:
- You will learn from scratch about STM32 Timers : Basic and General Purpose Timers
- Understand General purpose timer's Input capture apnd Output compare unit handling and Exercises
- Handling of Timer interrupts : Time base interrupts, capture interrupts, compare interrupts
- Understand about CAN filtering
- You will learn from scratch CAN Protocol, CAN Signalling, CAN Transceivers , Bus Access procedures
- 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
Update: English closed captions have been added, transcript available
Course code: MCU2
>>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 :
Eclipse-based OpenSTM32 SystemWorkbench or STM32CubeIDE
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(ARM Cortex M4 Processor specific)
3) Mastering Microcontroller with Embedded Driver Development(MCU1)
4) Mastering Microcontroller: TIMERS, PWM, CAN, RTC,LOW POWER(MCU2)
5) Mastering Microcontroller: STM32-LTDC, LCD-TFT, LVGL(MCU3)
6) Embedded System Design using UML State Machines(State machine)
7) Mastering RTOS: Hands-on FreeRTOS and STM32Fx with Debugging(RTOS)
8) ARM Cortex M Microcontroller DMA Programming Demystified(DMA)
9) STM32Fx Microcontroller Custom Bootloader Development(Bootloader)
10) Embedded Linux Step by Step using Beaglebone Black(Linux)
11) Linux device driver programming using Beaglebone Black(LDD1)
Other programming courses
1) Master The Rust Programming Language : Beginner To Advanced