Advanced Programming with STM32 Microcontrollers

Advanced Programming with STM32 Microcontrollers

By Majid Pakdel

An Elektor Publication

Table of Contents

  • Preamble
  • Chapter 1: Introduction to STM32 ARM Cortex-M Microcontrollers
    • 1.1 Introduction
    • 1.2 Software Tools
    • 1.3 STM32 Hardware Design and Serial Programmer
    • 1.4 Proposed STM32F103RET6 Header Board
    • 1.5 Summary
  • Chapter 2: Beginning First Projects with STM32 Microcontroller
    • 2.1 Introduction
    • 2.2 Beginning the First Project
    • 2.3 The Second Project
    • 2.4 The Third Project
    • 2.5 The Fourth Project
    • 2.6 Summary
  • Chapter 3: Adding LCD and Delay Libraries to a Project
    • 3.1 Introduction
    • 3.2 STM32CubeMX Settings and Adding LCD Library to the Project
    • 3.3 Adding LCD and Delay Libraries from Book files Download Section
    • 3.4 Summary
  • Chapter 4: External Interrupts in STM32 Microcontrollers
    • 4.1 Introduction
    • 4.2 External Interrupt Project Settings
    • 4.3 Summary
  • Chapter 5: Analogue to Digital Converters (ADCs) in STM32 Microcontrollers
    • 5.1 Introduction
    • 5.2 STM32CubeMX settings for ADC Project
    • 5.3 Adding Codes and Libraries to the ADC Project
    • 5.4 Summary
  • Chapter 6: Digital to Analogue Converters (DACs) in STM32 Microcontrollers
    • 6.1 Introduction
    • 6.2 STM32CubeMX settings for DAC Project
    • 6.3 Adding Codes to main.c
    • 6.4 Summary
  • Chapter 7: Timers and Counters in STM32 Microcontrollers
    • 7.1 Introduction
    • 7.2 Timer Project Settings
    • 7.3 Counter Project Settings
    • 7.4 Summary
  • Chapter 8: Pulse Width Modulation (PWM) in STM32 Microcontrollers
    • 8.1 Introduction
    • 8.2 PWM Project Settings
    • 8.3 Summary
  • Chapter 9: Real-Time Clock (RTC) in STM32 Microcontrollers
    • 9.1 Introduction
    • 9.2 RTC Project Settings
    • 9.3 Summary
  • Chapter 10: Serial Communication in STM32 Microcontrollers
    • 10.1 Introduction
    • 10.2 Sending Data Project Settings
    • 10.3 Receiving Data Project Settings
    • 10.4 Summary
  • Chapter 11: Synchronous Peripheral Interface (SPI) in STM32 Microcontrollers
    • 11.1 Introduction
    • 11.2 SPI Settings for Master Microcontroller
    • 11.3 SPI Settings for Slave Microcontroller
    • 11.4 Header Code of main.c for Master Microcontroller
    • 11.5 Header Code of main.c for the Slave Microcontroller
    • 11.6 The main.c File Settings for Master and Slave Microcontrollers
    • 11.7 Summary
  • Chapter 12: Watchdog Timer in STM32 Microcontrollers
    • 12.1 Introduction
    • 12.2 WWDG Timer Project Settings
    • 12.3 IWDG Timer Project Settings
    • 12.4 Summary
  • Chapter 13: Inter-Integrated Circuit (I²C) in STM32 Microcontrollers
    • 13.1 Introduction
    • 13.2 I²C Settings for Slave Microcontroller
    • 13.3 I²C Settings for Master Microcontroller
    • 13.4 Summary
  • Chapter 14: Direct Memory Access (DMA) in STM32 Microcontrollers
    • 14.1 Introduction
    • 14.2 DMA Settings for ADC
    • 14.3 Timer, ADC, and DMA Project Settings
    • 14.4 DMA and USART Project Settings
    • 14.5 Summary
  • Chapter 15: Real-Time Operating System (RTOS) in STM32 Microcontrollers
    • 15.1 Introduction
    • 15.2 FreeRTOS Project Settings
    • 15.3 Summary
  • Chapter 16: STM32 Microcontrollers Programming using STM32duino
    • 16.1 Introduction
    • 16.2 Installing STM32duino in Arduino IDE
    • 16.3 Automation Control System Programming
    • 16.4 Multitasking in PLC Programming
    • 16.5 Summary
  • Chapter 17: Finite State Machine (FSM) Programming in STM32 Microcontrollers
    • 17.1 Introduction
    • 17.2 FSM programming using mikroC PRO for ARM
    • 17.3 FSM Programming using Mbed Online Compiler
    • 17.4 FSM Modular Programming Using Functions
    • 17.5 Summary
  • Chapter 18: STM32 Microcontrollers Programming using MATLAB/Simulink
    • 18.1 Introduction
    • 18.2 Pulse Generation Programming using Simulink
    • 18.3 SPWM Generation Programming for Three Phase Inverter using Simulink
    • 18.4 Summary
  • Index

PDF preview unavailable. Download the PDF instead.

xL6ANutXVy3S3o4zL6yJjd352AIrfdox Adobe PDF Library 15.0

Related Documents

PreviewGet Started with the MAX78000FTHR Development Board | Elektor
A comprehensive guide for beginners and developers on how to get started with the Elektor MAX78000FTHR development board. This document outlines the board's features, the MAX78000 microcontroller, and provides a structured approach to various hardware projects, including serial communication, timers, analog-to-digital conversion, and convolutional neural networks.
PreviewRaspberry Pi Pico Essentials: Program, Build, and Master Over 50 Projects with MicroPython and RP2040
A comprehensive guide to the Raspberry Pi Pico microcontroller, covering hardware, programming with MicroPython, and over 50 practical projects including LEDs, sensors, communication interfaces, and more.
PreviewNucleo Boards Programming with STM32CubeIDE: A Comprehensive Guide
This guide provides hands-on experience in programming STM32 Nucleo boards using the STM32CubeIDE, covering over 50 projects and essential concepts from board architecture to advanced debugging and power management.
PreviewObject-Oriented PLC Programming in CODESYS: Modular and Scalable Control Systems Using Structured Text
A comprehensive guide to Object-Oriented PLC Programming using CODESYS and Structured Text, covering modular and scalable control system design with practical examples and explanations of key concepts like classes, methods, inheritance, and polymorphism.
PreviewCoding Modbus TCP/IP for Arduino: Example Projects with Node-RED, MQTT, WinCC SCADA, Blynk, and ThingSpeak
This guide provides practical examples for implementing Modbus TCP/IP communication with Arduino. It covers setting up hardware, programming Arduino, and integrating with platforms like Node-RED, MQTT, WinCC SCADA, Blynk, and ThingSpeak for industrial automation and IoT applications.
PreviewExplore the Raspberry Pi in 45 Electronics Projects: A Comprehensive Guide
Learn to build 45 electronics projects with the Raspberry Pi. This guide covers setup, programming in Python, Bash, JavaScript, and interfacing with hardware using GPIO, SPI, I2C, and more. Suitable for beginners and intermediate makers.
PreviewStarting Electronics: Microcontroller Basics with PIC
A comprehensive guide to microcontroller basics using PIC devices, covering assembly and C programming, interrupts, addressing, and hardware interfaces.
PreviewElektor Electronics Worldwide: March 2008 Edition - Projects, Kits, and Technology
Explore the March 2008 issue of Elektor Electronics Worldwide, featuring articles on SD Card Data Loggers, FPGAs, real-time computing, and various electronic projects. Discover kits from Jaycar and development tools from BitScope and mikroElektronika.