Mastering Microcontroller: Timers, PWM, CAN, Low Power(MCU2)
0% Complete
0% Complete
About the instructor what are we going to do in this course ? Important Note Source Code and Slides Rating and Review About the development board used in this course Board Details and Locating Documents ST-Link Driver Installation ST Link Firmware Upgrade Hardware/Software Requirements Which IDE to use for this course? Note Migrating to STM32CubeIDE Downloading and Installing OpenSTM32 System-Workbench Installing OpenSTM32 System-Workbench About CubeMX version STM32 CUBE mx installation 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 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 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 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 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 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 Output Compare Assignment PWM Introduction PWM Exercise : Part 1 PWM Exercise : Part 2 PWM Exercise : Part 3 PWM Exercise : Part 4 PWM Exercise : Part 5 PWM Exercise : Part 6 PWM Exercise : Part 7 LED brightness control using PWM signal: Part 1 LED brightness control using PWM signal: Part 2 CAN section introduction Introduction to CAN CAN's most attractive features Summary of CAN features Understanding a CAN and its parts CAN single ended signals Vs Differential signal Understanding CAN differential signals CAN Dominant and Recessive Signal states CAN signalling summary CAN Message format explanation : Arbitration field Standard CAN Vs Extended CAN CAN Message format explanation : ACK bit ACK Summary CAN Message format explanation : EOF, IFS and SOF CAN remote frame Understanding CAN bit wise arbitration STM32 bxCAN introdcution STM32 bxCAN block diagram STM32 bxCAN self test modes Exercise : CAN loop back mode : Project Creation CAN bit timing calculation Exercise : CAN loop back mode : Coding init function Exploring bxCAN TX path Exercise : CAN loop back mode : Coding Tx function understanding bxCAN operating modes Exercise : CAN loop back mode : MSP code implementation CAN loopback connection details Exercise : CAN loop back mode : Testing and Protocol decoding STM32 bxCAN RX block diagram and acceptance filters Understanding bxCAN acceptance filtering with examples Exploring filtering data structures Exercise : CAN loop back mode : Coding RX function Exercise : CAN filter config implementation and testing TX-RX Understanding STM32 bxCAN Interrupt requests (IRQs) CAN LOOPBACK interrupt mode implementation Part -1 CAN LOOPBACK interrupt mode implementation Part -2 Exercise : CAN Normal Node Introduction - Part-1 Exercise : CAN Normal Node Project Creation- Part-2 Exercise : CAN Normal Node Code Implementation - Part-3 Exercise : CAN Normal Node Code Implementation - Part-4 Exercise : CAN Normal Node Code Implementation - Part-5 Exercise : CAN Normal Node Testing TX - Part-6 Exercise : CAN Normal Node Testing TX - Part-7 Exercise : CAN Normal Node RX Code implementation- Part-8 Exercise : CAN Normal Node RX Code implementation- Part-9 Exercise : CAN Normal Node Sending Remote Frame Part-10 Exercise : CAN Normal Node Testing- Part-11 Exercise : CAN Normal Node Testing TX at 1Mbit/sec - Part-12 Exercise : CAN Normal Configuring acceptance filtering - Part-13 Exercise : CAN Normal Configuring acceptance filtering - Part-14 Section Introduction MCU low power modes introduction Processor specific low power modes Entering normal and deep sleep modes Entering sleep mode using SLEEPONEXIT feature Exercise : Usage of SLEEPONEXIT feature waking up from SLEEPONEXIT feature Exercise : test SLEEPONEXIT feature -creating a project Exercise : Implementation and current measurement without SLEEPONEXIT feature Current measurement with SLEEPONEXIT feature SLEEPONEXIT Exercise summary Tips to reduce current consumption Current measurement with increased HCLK frequency Current measurement with increased UART baudrate Clock gating and RCC Low power register settings IO analog mode and effect on current consumption Current measurement in IO analog mode Understanding WFI instruction WFI Exercise Introduction WFI Exercise Implementation Understanding WFE and event register of ARM Cortex Mx processor WFE wake-up behavior and Comparison with WFI WFE exercise introduction WFE project explanation Generating Peripheral events in STM32 MCU WFE project implementation-Part1 WFE project implementation-Part2 Difference and similarity between WFI and WFE When to use WFE and WFI ? MCU specific low power modes STM32 MCU voltage domains STM32 voltage regulator and its modes Voltage regulator Over Drive and Power Down mode Current measurement with core-mark in Run mode-Part1 Current measurement with core-mark in Run mode-Part2 Run mode current measurement + HCLK180MHz+ all peripherals enabled Run mode current measurement + HCLK180MHz + all peripherals enabled + ART SLEEP mode current measurement SLEEP mode and Voltage regulator settings to save current STOP mode and wake-up latency STOP mode current measurement Microcontroller wake-up Pins discussion Understanding STM32 BACKUP SRAM Different types of MCU resets BACKUP SRAM exercise Intro Backup SRAM Exercise implementation part 1 Backup SRAM Exercise implementation part 2 RTC Introduction RTC BCD programming example RTC block diagram and RTC Clock selection RTC and STM32 device HAL APIs explanation Exercise : RTC Calendar Part-1 Exercise : RTC Calendar Part-2 Exercise : RTC Calendar Part-3 Exercise : RTC Calendar Part-4 Exercise : RTC Calendar Testing Exercise : RTC Calendar Testing with system reset and STANDBY exit RTC Alarm Introduction STM32 CUBE APIs for RTC Alarm Handling RTC Interrupts and IRQ numbers RTC Interrupts Summary RTC Alarm Exercise-1 RTC Alarm Exercise-1 Testing RTC Alarm Exercise-2 RTC Alarm Exercise-2 Testing RTC Alarm Exercise-3 RTC Alarm Exercise-4 New Bonus Section: Project-Based Learning Intro Creating an STM32 project using STM32CubeIDE Creating an STM32 Project using VS Code Project creation and LED pins setup Project compilation and producing different output files(.elf, .bin, .ihex) Programming the target board using bootloader Programming and debugging using ST Link debugger Source code LED Blinker using Timer interrupts LED Blinker with Timer Interrupts Testing and Debugging using USB logic analyser LED Blinker using button interrupts Source code Project objective Project big picture About I2C Bus I2C master configuration PWM signal generation using timer peripheral PWM parameter settings Plotting PWM using STM32CubeMonitor Software Understanding MPU6050 sensor and specifications from datasheet Reading accelerometer data from MPU6050 Testing mpu6050_init() function on the hardware Reading accelerometer data using STM32 I2C MemRead API Testing acceleromter data read and plotting using CubeMonitor Calculating roll angle and applying kalman filter Mapping kalman roll angle to pwm duy cycle to control LEDs Source code About FreeRTOS Adding FreeRTOS to project RTOS time base configuration Steps to implement FreeRTOS task to read MPU6050 and control PWM Stack and Heap setup FreeRTOS priorities Implementing Tasks Direct task notifications Direct task notifications contd. MPU6050 interrupts MPU6050 interrupt registers explanation Coding for MPU6050 interrupt configuration Implementing MPU6050 ISR Implementing MPU6050 ISR Contd. Testing with RTOS BONUS LECTURE
Software piracy : I want to emphasize that using cracked software can be against the terms of service and potentially illegal. ArchiCAD 20 is a paid software, and using a crack might infringe on the intellectual property rights of the software developers.
Support and updates : Cracked software often doesn't come with official support, updates, or bug fixes, which can lead to compatibility issues, bugs, or security vulnerabilities.
System Requirements
If you still decide to use a cracked version of ArchiCAD 20, be aware of potential issues:
Installation Steps
Installing ArchiCAD 20 with a high-quality crack:
× This is an unpublished lesson. This lesson will not be shown for students unless you set it as Public.
Como Instalar Archicad 20 Con Extra Quality __hot__ Crack 100%
Software piracy : I want to emphasize that using cracked software can be against the terms of service and potentially illegal. ArchiCAD 20 is a paid software, and using a crack might infringe on the intellectual property rights of the software developers.
Support and updates : Cracked software often doesn't come with official support, updates, or bug fixes, which can lead to compatibility issues, bugs, or security vulnerabilities.
System Requirements
If you still decide to use a cracked version of ArchiCAD 20, be aware of potential issues:
Installation Steps
Installing ArchiCAD 20 with a high-quality crack:
Next Lesson