Embedded C Programming with STM32 Microcontrollers

Embedded C Programming with STM32 Microcontrollers from Zero to Hero
SKU: ee_001
Old price: 15,000.00৳
10,000.00৳

Course Outline

 

Module 1: Introduction to Embedded Systems

  • Understanding embedded systems
  • Importance and applications
  • Introduction to STM32 microcontrollers

Module 2: Getting Started with STM32

  • Overview of STM32 series
  • Hardware and software requirements
  • Setting up development environment (IDE, compiler, debugger)
  • Introduction to STM32CubeMX for peripheral initialization

Module 3: Basics of C Programming

  • Overview of C programming language
  • Data types, variables, and constants
  • Control structures (if, else, switch, loops)
  • Functions and modular programming

Module 4: Introduction to Embedded C

  • Understanding embedded C
  • Differences from standard C
  • Memory-mapped I/O and register access

Module 5: GPIO Programming

  • Basics of General Purpose Input/Output (GPIO)
  • GPIO configuration and manipulation
  • Practical GPIO examples (LED blinking, button input)

Module 6: Timers and PWM

  • Introduction to timers in STM32
  • PWM (Pulse Width Modulation) theory
  • Configuring timers for PWM output
  • Practical examples (controlling the brightness of an LED)

Module 7: Interrupts and NVIC

  • Introduction to interrupts
  • NVIC (Nested Vector Interrupt Controller) in STM32
  • Configuring interrupts in STM32
  • Practical examples (handling external events)

Module 8: Serial Communication (UART)

  • Overview of UART (Universal Asynchronous Receiver-Transmitter)
  • Configuring UART peripherals
  • Transmitting and receiving data over UART
  • Practical examples (UART communication between STM32 and PC)

Module 9: I2C and SPI Communication

  • Introduction to I2C and SPI protocols
  • Configuring I2C and SPI peripherals
  • Reading and writing data using I2C and SPI
  • Practical examples (sensor interfacing)

Module 10: ADC and DAC

  • Basics of Analog to Digital Conversion (ADC)
  • Configuring ADC peripherals
  • Basics of Digital to Analog Conversion (DAC)
  • Configuring DAC peripherals
  • Practical examples (reading analog sensors, generating analog signals)

Module 11: Real-Time Operating Systems (RTOS) Basics

  • Introduction to RTOS
  • Overview of FreeRTOS
  • Setting up FreeRTOS on STM32
  • Task creation, management, and synchronization

Module 12: Project: Building an Embedded System

  • Integrating concepts learned throughout the course into a final project
  • Example projects could include:
  • Temperature and humidity monitoring system
  • Motor control system
  • Data logger
  • Bonus Module: Advanced Topics (Optional)
  • Power management techniques
  • Low-power modes in STM32
  • Debugging techniques
  • Optimization techniques

Course Delivery:

  • Video lectures explaining concepts with practical demonstrations
  • Hands-on coding exercises and projects
  • Quizzes to assess understanding after each module
  • Discussion forums for students to ask questions and discuss concepts
  • Provide downloadable resources including code examples, datasheets, and project schematics