% Off Udemy Coupon - CoursesWyn

Mastering Microcontroller: Timers, PWM, CAN, Low Power(MCU2)

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

$9.99 (90% OFF)
Get Course Now

About This Course

<div>Update: English closed captions have been added, transcript available</div><div><br></div><div>Course code: MCU2</div><div><br></div><div>&gt;&gt;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. &lt;&lt;</div><div><br></div><div>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.</div><div><br></div><div><span style="font-size: 1rem;">In Timer Section the course covers,</span></div><div><span style="font-size: 1rem;">1. Simple time-based generation using the basic timer in both polling and interrupt mode</span></div><div><span style="font-size: 1rem;">2. Timer interrupts and IRQ numbers, ISR implementation, callbacks, etc</span></div><div><span style="font-size: 1rem;">3. General-purpose timer</span></div><div><span style="font-size: 1rem;">4. Working with Input Capture channels of General-purpose timer</span></div><div><span style="font-size: 1rem;">5. Interrupts, IRQs, ISRs, callbacks related to Input Capture engine of the general purpose timer</span></div><div><span style="font-size: 1rem;">6. Working with output capture channels of the General purpose timer</span></div><div><span style="font-size: 1rem;">7. Interrupts, IRQs, ISRs, callbacks related to Output Capture engine of the general purpose timer</span></div><div><span style="font-size: 1rem;">8. PWM generation using output capture modes</span></div><div><span style="font-size: 1rem;">9. PWM Exercises</span></div><div><span style="font-size: 1rem;">10. Step by Step code development process will help you to master the TIMER peripheral</span></div><div><br></div><div><span style="font-size: 1rem;">In CAN Section the course covers,</span></div><div><br></div><div>1. Introduction to the CAN protocol</div><div><span style="font-size: 1rem;">2. CAN frame formats</span></div><div><span style="font-size: 1rem;">3. Understanding a CAN node</span></div><div><span style="font-size: 1rem;">4. CAN signaling (single-ended signals vs differential signals ) \</span></div><div><span style="font-size: 1rem;">5. CAN Bus recessive state and dominant state</span></div><div><span style="font-size: 1rem;">6. CAN Bit timing Calculation \</span></div><div><span style="font-size: 1rem;">7. CAN network with Transceivers</span></div><div><span style="font-size: 1rem;">8. Exploring inside view of CAN transceivers</span></div><div><span style="font-size: 1rem;">9. CAN Self-test modes such as LOOPBACK, SILENT LOOPBACK, etc with code exercises.</span></div><div><span style="font-size: 1rem;">10. Exploring STM32 bXCAN peripheral</span></div><div><span style="font-size: 1rem;">11. self-testing of bxCAN peripheral with exercises</span></div><div><span style="font-size: 1rem;">12. bXCAN block diagram</span></div><div><span style="font-size: 1rem;">13. Tx/Rx path of the bxCAN Peripheral</span></div><div><span style="font-size: 1rem;">14. CAN frame filtering and executrices</span></div><div><span style="font-size: 1rem;">15. CAN in Normal Mode</span></div><div><span style="font-size: 1rem;">16. Communicating between 2 boards over CAN</span></div><div><span style="font-size: 1rem;">17. Code exercises</span></div><div><span style="font-size: 1rem;"><br></span></div><div><span style="font-size: 1rem;">In the Power Controller Section the course covers,</span></div><div><br></div><div>1. ARM Cortex Mx Low Power Modes Normals Vs DeepSleep</div><div><span style="font-size: 1rem;">2. STM32 SLEEP mode</span></div><div><span style="font-size: 1rem;">3. STOP mode</span></div><div><span style="font-size: 1rem;">4. STANDBY mode</span></div><div><span style="font-size: 1rem;">5. Current measurement with different submode</span></div><div><span style="font-size: 1rem;">6. Waking up MCU by using wakeup pins, EXTI, RTC, etc</span></div><div><span style="font-size: 1rem;">7. Backup SRAM</span></div><div><span style="font-size: 1rem;">8. Step by Step coverage with lots of code exercises.</span></div><div><span style="font-size: 1rem;"><br></span></div><div><span style="font-size: 1rem;">In RTC Section the course covers,</span></div><div><br></div><div>1. RTC functional block diagram</div><div><span style="font-size: 1rem;">2. RTC clock management</span></div><div><span style="font-size: 1rem;">3. RTC calendar unit</span></div><div><span style="font-size: 1rem;">4. RTC Alarm unit</span></div><div><span style="font-size: 1rem;">5. RTC wake-up unit</span></div><div><span style="font-size: 1rem;">6. RTC Time Stamp Unit</span></div><div><span style="font-size: 1rem;">7. waking up MCU using RTC events</span></div><div><span style="font-size: 1rem;">8. RTC interrupts</span></div><div><span style="font-size: 1rem;">9. and lots of other details with step by step code exercises.</span></div><div><br></div><div>STM32 Device HAL framework</div><div><br></div><div>1. STM32 Device Hal framework details</div><div><span style="font-size: 1rem;">2. APIs details</span></div><div><span style="font-size: 1rem;">3. Interrupt handling</span></div><div><span style="font-size: 1rem;">4. Callback implementation</span></div><div><span style="font-size: 1rem;">5. Peripheral Handling and configurations</span></div><div><span style="font-size: 1rem;">6. Step by Step explanation with code exercises.</span></div><div><br></div><div><span style="font-size: 1rem;">==&gt; Important note: This course is NOT about auto-generating code using STM32CubeMx software&lt;==</span></div><div><br></div><div><span style="font-size: 1rem;">Hardware used :</span></div><div><br></div><div>STM32F446RE-NUCLEO Board</div><div><br></div><div>CAN Transceivers for CAN Exercises</div><div><br></div><div><span style="font-size: 1rem;">IDE :</span></div><div><br></div><div>Eclipse-based OpenSTM32 SystemWorkbench or STM32CubeIDE</div><div><br></div><div><span style="font-size: 1rem;">Learning order of FastBit Embedded Brain Academy Courses,</span></div><div><br></div><div>If you are a beginner in the field of embedded systems, then you can take our courses in the below-mentioned order.</div><div>This is just a recommendation from the instructor for beginners.</div><div><br></div><div>1) Microcontroller Embedded C Programming: absolute beginners(Embedded C)</div><div><span style="font-size: 1rem;">2) Embedded Systems Programming on ARM Cortex-M3/M4 Processor(ARM Cortex M4 Processor specific)</span></div><div><span style="font-size: 1rem;">3) Mastering Microcontroller with Embedded Driver Development(MCU1)</span></div><div><span style="font-size: 1rem;">4) Mastering Microcontroller: TIMERS, PWM, CAN, RTC,LOW POWER(MCU2)</span></div><div><span style="font-size: 1rem;">5) Mastering Microcontroller: STM32-LTDC, LCD-TFT, LVGL(MCU3)</span></div><div><span style="font-size: 1rem;">6) Embedded System Design using UML State Machines(State machine)</span></div><div><span style="font-size: 1rem;">7) Mastering RTOS: Hands-on FreeRTOS and STM32Fx with Debugging(RTOS)</span></div><div><span style="font-size: 1rem;">8) ARM Cortex M Microcontroller DMA Programming Demystified(DMA)</span></div><div><span style="font-size: 1rem;">9) STM32Fx Microcontroller Custom Bootloader Development(Bootloader)</span></div><div><span style="font-size: 1rem;">10) Embedded Linux Step by Step using Beaglebone Black(Linux)</span></div><div><span style="font-size: 1rem;">11) Linux device driver programming using Beaglebone Black(LDD1)</span></div><div><span style="font-size: 1rem;"><br></span></div><div><span style="font-size: 1rem;">Other programming courses</span></div><div><span style="font-size: 1rem;">1) Master The Rust Programming Language : Beginner To Advanced</span></div>

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