As an important member of the Cortex–M3 family, STM32 is also a widely used chip today. From the 51 microcontroller to the emergence of embedded systems, the Internet of Things, big data, and artificial intelligence, the development of electronic technology is advancing rapidly, driving the growth of the semiconductor industry and changing our lives.
Now we are more accustomed to referring to the development related to microcontrollers as embedded development. Universities still mainly teach the 51 microcontroller, with a few schools offering elective courses on Cortex–M3. As an important family member, STM32 is gradually being learned by more and more people.
Feng Xinyu is an associate professor at Heilongjiang University of Science and Technology, engaged in embedded system project development and related teaching work for a long time. In the past decade, he has led or participated in more than twenty embedded-related topics and project developments; as a guiding teacher, he has participated in national college students’ electronic design competitions, Freescale electronic design competitions, Heilongjiang provincial electronic design competitions, and so on, with students he guided winning various major awards in competitions multiple times. His representative works include the best-selling book “ARM Cortex-M3 Architecture and Programming” (2nd edition) and “Quadrotor UAV Design” (2nd edition).
Chapter 1 Introduction to ARM Cortex–M3 Core
1.1 Chapter Introduction
1.2 Main Applications
1.3 Major Features of Cortex–M3
1.4 Characteristics of Typical M3 Core Processors
1.4.1 Naming Rules
1.4.2 Product Functions and Peripheral Configuration
1.5 Chapter Summary
1.6 Exercises
Chapter 2 Setting Up the Development Environment
2.1 Chapter Introduction
2.2 MDK Installation
2.3 New Project Exploration
2.4 Simulation Debugging
2.5 Chapter Summary
2.6 Exercises
Chapter 3 Basic I/O Port Control
3.1 Chapter Introduction
3.2 Advanced New Project
3.3 MDK Project Configuration
3.4 Register Operations
3.5 Clock Configuration
3.5.1 Clock Tree
3.5.2 Clock Source
3.5.3 APB2 Peripheral Clock Enable Register (RCC_APB2ENR)
3.6 I/O Port Configuration
3.6.1 Basic Situation of I/O
3.6.2 GPIO Configuration Register Description
3.6.3 Port Output Data Register
3.7 Library Function Operations
3.7.1 GPIO_Init Function
3.7.2 RCC_APB2PeriphClockCmd
3.7.3 Control I/O Output Levels
3.8 Digital Tube Operation Example
3.8.1 Basic Knowledge of Digital Tubes
3.8.2 Hardware Circuit Design
3.8.3 Software Description
3.9 Simple Key Operation Example
3.10 Chapter Summary
3.11 Exercises
Chapter 4 Interrupts
4.1 Chapter Introduction
4.2 STM32 Interrupts and Exceptions
4.3 Basic Concepts Related to STM32 Interrupts
4.3.1 Interrupt Priority
4.3.2 Interrupt Controller NVIC
4.3.3 NVIC’s Interrupt Vector Priority Group
4.4 External Interrupts
4.4.1 Basic Situation of External Interrupts
4.4.2 Basic Steps for Using External Interrupts
4.5 Single Key Interrupt Operation Example
4.6 Multiple Key Interrupt Operation Example
4.7 Chapter Summary
4.8 Exercises
Chapter 5 Serial Communication
5.1 Chapter Introduction
5.2 Basics of Serial Communication
5.2.1 Basic Concepts
5.2.2 Common Serial Communication Interfaces
5.3 STM32 Serial Port Operations
5.3.1 Register Method for Serial Port Operations
5.3.2 Library Function Method for Serial Port Operations
5.3.3 Steps for Serial Port Settings
5.4 Serial Communication Operation Example
5.4.1 Main Program
5.4.2 Serial Port Initialization Code
5.5 Chapter Summary
5.6 Exercises
Chapter 6 Direct Memory Access
6.1 Chapter Introduction
6.2 Basics of DMA
6.3 STM32 DMA Operations
6.3.1 Register Method for DMA Operations
6.3.2 Library Function Method for DMA Operations
6.3.3 Steps for DMA Settings
6.4 DMA Operation Example
6.4.1 Main Program
6.4.2 DMA Initialization Code
6.4.3 Code Analysis and Experimental Results
6.5 Chapter Summary
6.6 Exercises
Chapter 7 Analog/Digital Converters
7.1 Chapter Introduction
7.2 Basics of ADC
7.2.1 Major Features of ADC
7.2.2 ADC Block Diagram and Pin Distribution
7.2.3 Channel Selection
7.2.4 ADC Conversion Modes
7.3 STM32 ADC Operations
7.3.1 Register Method for ADC Operations
7.3.2 Library Function Method for ADC Operations
7.3.3 Steps for ADC Settings
7.4 ADC Operation Example
7.4.1 Main Program
7.4.2 ADC Initialization Code
7.4.3 Code Analysis and Experimental Results
7.5 Chapter Summary
7.6 Exercises
Chapter 8 Timers
8.1 Chapter Introduction
8.2 Basics of Timers
8.2.1 Advanced Timers
8.2.2 Basic Timers
8.2.3 General Timers
8.3 STM32 Timer Operations
8.3.1 Register Method for Timer Operations
8.3.2 Library Function Method for Timer Operations
8.3.3 Steps for Timer Settings
8.4 Timer Operation Example
8.4.1 Main Program
8.4.2 Timer Initialization Code
8.4.3 Code Analysis and Experimental Results
8.5 Chapter Summary
8.6 Exercises
Chapter 9 CAN Bus Design
9.1 Chapter Introduction
9.2 Basics of STM32 CAN Bus
9.2.1 CAN Physical Layer Characteristics
9.2.2 CAN Bit Timing
9.2.3 CAN Bus Arbitration
9.2.4 STM32 CAN Controller
9.2.5 STM32 CAN Filter
9.2.6 CAN Sending Process
9.2.7 CAN Receiving Process
9.2.8 STM32 CAN Bit Timing Characteristics
9.3 STM32 CAN Bus Operations
9.3.1 Register Method for CAN Bus Operations
9.3.2 Library Function Method for CAN Bus Operations
9.3.3 Steps for CAN Bus Settings
9.4 CAN Communication Example
9.5 Chapter Summary
9.6 Exercises
Chapter 10 Inverted Pendulum Design
10.1 Chapter Introduction
10.2 Design Requirements
10.3 Design Analysis
10.3.1 Selection of Inverted Pendulum
10.3.2 System Structure Composition
10.3.3 System Model Analysis
10.3.4 System Control Scheme Determination
10.4 Design Steps
10.4.1 Microcontroller Minimum System Circuit Design
10.4.2 Motor Selection and Driver Circuit Design
10.4.3 Measurement Circuit Design
10.4.4 Communication Circuit Design
10.4.5 Auxiliary Circuit Design
10.4.6 System Software Design
10.5 Chapter Summary
10.6 Exercises
Chapter 11 Intelligent Vehicle Design
11.1 Chapter Introduction
11.2 Design Requirements
11.3 Design Analysis
11.4 Design Steps
11.4.1 Minimum System Circuit Design
11.4.2 Power Supply Circuit Design
11.4.3 Motor Driver Circuit Design
11.4.4 Environmental Detection Sensor Circuit Design
11.4.5 Human-Machine Interaction Circuit Design
11.4.6 Overall Software Design
11.4.7 PID Control Software Design
11.4.8 Maze Algorithm Design
11.4.9 Design Measurement Methods and Data Processing
11.4.10 Sensor Software Filtering
11.5 Chapter Summary
11.6 Exercises
Chapter 12 Balance Car Design
12.1 Chapter Introduction
12.2 Design Requirements
12.3 Design Analysis
12.4 Design Steps
12.4.1 Environmental Detection Sensor Circuit Design
12.4.2 Human-Machine Interaction Circuit Design
12.4.3 MPU 6050 Usage Method
12.4.4 Overall Software Design
12.5 Chapter Summary
12.6 Exercises
Chapter 13 Electronic Scale Design
13.1 Chapter Introduction
13.2 Design Requirements
13.3 Design Analysis
13.4 Design Steps
13.4.1 Main Controller Related Circuit
13.4.2 TFT LCD Screen Related Circuit Design
13.4.3 AD Conversion Chip HX711 Related Circuit Design
13.4.4 WT588D Voice Module Related Circuit Design
13.4.5 Load Sensor Related Circuit Design
13.4.6 Software Design Ideas and Code Analysis
13.5 Chapter Summary
13.6 Exercises
Chapter 14 Design of Wireless Power Transmission System
14.1 Chapter Introduction
14.2 Design Requirements
14.3 Design Analysis
14.3.1 Basic Principle Analysis of Wireless Power Transmission
14.3.2 Characteristics of Wireless Power Transmission
14.4 Design Steps
14.4.1 System Structure Composition
14.4.2 Selection and Design of Major Topology Circuits
14.4.3 MOS Tube Driver Design
14.4.4 Coil and Capacitor Design
14.4.5 Design of High-Frequency Rectification at the Receiving End
14.4.6 Control Circuit Design
14.4.7 Program Design
14.4.8 Debugging and Verification
14.4.9 Measurement Results and Conclusion Analysis
14.5 Chapter Summary
14.6 Exercises
References
This book systematically discusses the principles, architecture, programming, and project development of the ARM Cortex-M3 embedded microprocessor (STM32 series). It is a systematic summary of many years of teaching and project development experience, featuring the following characteristics:
(1) Easy to Teach and Learn: Starting from the most basic I/O port configuration, it sequentially introduces interrupts, serial communication, A/D conversion, timers, CAN bus, and other basic functions, making it easy for readers to understand and apply.
(2) Coherent Front and Back: Emphasizes the coherence of knowledge content and analysis methods, properly handling the connection with previous and subsequent courses.
(3) Clear Hierarchy: Introduces the principles, architecture, programming, and project development of the STM32 series microprocessors in a simple and understandable way, step by step, closely linked, responding to each other.
Teaching materials, accompanying lesson plans (PPT);Program code, accompanying example programs;Circuit diagrams, accompanying circuit diagrams. Available for download on the Tsinghua University Press website for this book.
Click the book cover below to view the JD details page for “Understanding ARM Cortex-M3 Embedded Systems and Applications: Architecture, Programming, and Project Practice of STM32 Series Microprocessors”.
ISBN:9787302547150
Price: 59.00
If you are a teacher, you can apply for the book in the following ways:
(1) Follow the “Artificial Intelligence Science and Technology” public account and share this article to your circle of friends;
(2) Fill out the application form: Open the “Artificial Intelligence Science and Technology” public account menu, click on [Books] → [Book Application] to enter the application form.
(3) Applicants must be ordinary college teachers and teach the corresponding course of the requested sample book. The application form needs to upload proof of identity with a syllabus of a similar course.
If you are not a teacher, you can participate in the book lottery in the following ways:
(1) Follow the “Artificial Intelligence Science and Technology” public account and share this article to your circle of friends;
(2) Open the “Artificial Intelligence Science and Technology” public account chat window and enter the text “Lottery“, and the system will pop up the lottery QR code;
(3) Long press the QR code to participate in the lottery. Winners should fill in the mailing address on the day of the lottery announcement (Lottery valid until July 24, 2020, 20:00).
Note: Book applications are valid for a long time.
AI Learning is with you, are you「Watching」?↓
Leave a Comment
Your email address will not be published. Required fields are marked *