This book systematically introduces the basic knowledge and practical skills of STM32 programming. The book is rich in cases, clear in structure, and highly practical. This book can be used as a textbook for students majoring in electrical engineering in higher vocational colleges, and can also be used as a reference book for relevant engineering and technical personnel.
Project 1 STM32 development steps and STM32 GPIO port output function
Task 1-1 Control an LED to flash
1.1 Preliminary understanding of the output function of the STM32 GPIO port
1.2 Registers and their address information
1.3 The use of the volatile modifier and register definition
Exercise 1
Project 2 Understanding modular programming
Task 2-1 Control an LED to flash
2.1 Modular programming
2.2 Other C language precautions
2.2.1 Use #define and typedef to define type aliases
2.2.2 Some common operator problems
2.2.3 File inclusion
2.2.4 About comments
Exercise 2
Project 3 Understanding the memory structure of STM32
Task 3-1 LED0 flashing control
3.1 Basic memory knowledge
3.2 Cortex-M4 core and STM32 memory structure
3.2.1 Cortex-M4 core memory structure
3.2.2 STM32 memory structure
3.2.3 The relationship between bit band and bit band alias
3.3 Application of structures in STM323.4
Design of general I/O port function setting functionTask3-2
Implementation of marqueeExercise
3
Project 4 Implementation of precise delay—Principle and application of SysTick timerTask4-1
Buzzer sound control4.1
Introduction to SysTick timer4.2
Delay application of tick timerExercise
4
Project 5 Recognition of mechanical buttons—preliminary understanding of the input function of GPIO portTask5-1
Recognize the pressing and releasing of mechanical buttons5.1
Data input function of GPIO port of STM325.1.1
Data input channel of GPIO port
bit5.1.2 Input configuration of GPIO port bit and enable of pull-up/down resistor5.2
Determination of button statusExercise
5
Project 6 In-depth understanding of STM32F407 clock system6.1
Introduction to STM32F4 clock system6.2
STM32F4 clock system6.3
STM32F4 system clock and module clock6.3.1
System clock SYSCLK
6.3.2 Clocks provided by the SYSCLK module6.3.3
Related registers of the RCC module and their functionsExercise
6
Project 7 Understand the serial port structure of STM32Task
7-1 Use the serial port of STM32 to send a string to the PC7.1
Basic knowledge of the serial port7.2
The serial port structure of STM327.3
Pin multiplexing7.4
Reorganization of the port initialization functionExercise
7
Project 8 Interrupt management of STM32F407Task
8-1 Use the external interrupt of STM328.1
Control of interrupts by the embedded interrupt vector controller
NVIC8.1.1 Interrupt sources of STM328.1.2
Interrupt enable control of
STM328.1.3 Interrupt priority of STM328.1.4
Interrupt function interface and interrupt function implementation8.2
External interrupt8.2.1
Interrupt source of
external interrupt8.2.2 Setting of external interruptExercise
8
Project 9 Understand the timer task of STM329-1
Use the timer interrupt to control the flashing of
LED09.1 Overview of STM32 timers9.2
TIM3 internal structure and counting principle9.2.1
TIM3 internal structure9.2.2
STM32 timer timing principle9.3
Implementation of timer interrupt9.4
Use timer to generate PWM modulation signal9.4.1
TIM14 PWM modulation principle9.4.2
Registers involved in TIM14
generating PWM signal9.4.3 Implementation process of TIM14 generating PWM signalTask 9-2 Use TIM14 to generate a pulse signal
with a period of 500s and a duty cycle of 80%
Exercise 9
Project 10 Understand the independent watchdog of STM32Task
10-1 Understand the working principle of STM32's independent watchdog10.1
Overview of watchdog circuit10.2
STM32F407 watchdog circuit10.3
Registers related to independent watchdog10.4
Setting, starting and workflow of independent watchdogExercise
10
Project 11 Understand the real-time
clock of STM32F407Task 11-1 Understanding STM32 RTC
11.1 Introduction to RTC Real-time Clock
11.2 Working Principle of STM32 RTC
11.3 Operation Steps of STM32 RTC
Exercise 11
Project 12 STM32 Mini Development Board Circuit Design
Project 13 Understanding ARM Processor
13.1 Architecture Introduction
13.2 Operation Status, Working Mode and Access Level of Cortex-M4
13.3 Data Length
13.4 Memory size endianness13.5
Cortex-M4 registers13.6
Concepts of heap and stack13.7
Memory allocationExercise
13
Project 14 Assembly language basics and Cortex-M4 instruction set14.1
Assembly language basics14.2
Cortex-M4 instruction set14.3 Cortex
-M4 pseudo-operations and pseudo-instructions14.3.1
Pseudo-operations14.3.2
Pseudo-instructionsExercise
14
Project 15 Understanding the startup file startup_stm32f40_41xxx.sExercise
15Appendix
A Pin structure and function of STM32F407ZGT6Appendix
B STM32F407ZGT6 core circuit designAppendix
C STM32F407ZGT6 peripheral circuit designAppendix
D Explanation of compilation
informationReferences
https://download.eeworld.com.cn/detail/%E6%8A%9B%E7%A0%96%E5%BC%95%E7%8E%89/626787
|