本书主要介绍STM32F4系列微控制器在工程应用中所需的基础知识、硬件外设的工作原理以及编程开发的相关技术。本书由5个项目共16个任务构成,介绍STM32的基础知识、基于STM32F4标准外设库的工程建立和STM32F4系统时钟的配置,并结合可控LED流水灯的设计与实现、智能小车运动控制系统的设计与实现、环境参数监测和显示系统的设计与实现、多机通信系统的设计与实现等案例,对GPIO、外部中断、USART、ADC、定时器、SPI、I2C、SDIO、CAN等常用硬件外设进行讲解。
本书在内容组织上采用了“项目引领、任务驱动”的模式。针对MCU常用的硬件外设,设定了对应的应用场景作为案例,并在讲解的过程中将所需的知识点和技能点同任务实施过程有机结合了起来。案例中还融入了全国职业院校技能大赛“嵌入式技术应用开发”赛项的考核点,按照任务分析—知识链接—任务实施的路线对其展开了讨论,十分有利于读者学习与实践。
本书可作为电子信息类和通信类专业的教学用书,也可作为从事嵌入式产品设计、智能终端设备开发的工程技术人员的自学用书。
(1)从初学者角度出发,精选STM32嵌入式技术应用开发企业实际案例。
(2)项目引领,任务驱动;知识点与技能点同任务实施过程有机结合。
(3)深入浅出讲解STM32微控制器的基础知识、硬件平台、工作原理与开发技巧。
(4)“嵌入式技术应用开发”技能大赛培训推荐用书。
苏李果,闽西职业技术学院信息与制造学院副教授,福建省职业院校电子信息类专业带头人,福建省龙岩市教坛新秀。长期从事计算机程序设计、嵌入式微控制器技术、物联网应用技术等方向的课程教学工作,主要研究方向为嵌入式系统与物联网技术应用。
项目1 走进STM32的世界 1
任务1.1 STM32学习八问 2
1.1.1 什么是STM32 2
1.1.2 什么是Arm 4
1.1.3 用STM32能做什么 5
1.1.4 学习STM32必备的知识基础是什么 5
1.1.5 学习STM32需要哪些工具与平台,有什么好的学习方法 6
1.1.6 如何搭建STM32F4系列微控制器的最小系统 8
1.1.7 STM32的软件开发模式有哪些 10
1.1.8 STM32F4标准外设库的文件结构是怎样的 12
任务1.2 STM32F4标准外设库工程的建立 13
1.2.1 任务分析 13
1.2.2 知识链接 13
1.2.3 任务实施 16
任务1.3 STM32F4系统时钟的配置 25
1.3.1 任务分析 25
1.3.2 知识链接 25
1.3.3 任务实施 28
项目2 可控LED流水灯的设计与实现 33
任务2.1 LED流水灯的应用开发 34
2.1.1 任务分析 34
2.1.2 知识链接 34
2.1.3 任务实施 41
任务2.2 按键控制流水灯的应用开发 45
2.2.1 任务分析 45
2.2.2 知识链接 45
2.2.3 任务实施 53
任务2.3 串行通信控制流水灯的应用开发 62
2.3.1 任务分析 62
2.3.2 知识链接 62
2.3.3 任务实施 71
项目3 智能小车运动控制系统的设计与实现 77
任务3.1 智能小车循迹状态获取的应用开发 78
3.1.1 任务分析 78
3.1.2 知识链接 79
3.1.3 任务实施 87
任务3.2 智能小车供电监测模块的应用开发 91
3.2.1 任务分析 91
3.2.2 知识链接 91
3.2.3 任务实施 98
任务3.3 智能小车电机调速模块的应用开发 104
3.3.1 任务分析 104
3.3.2 知识链接 105
3.3.3 任务实施 119
任务3.4 智能小车电机测速模块的应用开发 129
3.4.1 任务分析 129
3.4.2 知识链接 130
3.4.3 任务实施 137
项目4 环境参数监测与显示系统的设计与实现 147
任务4.1 环境温湿度监测的应用开发 148
4.1.1 任务分析 148
4.1.2 知识链接 148
4.1.3 任务实施 151
任务4.2 环境光照强度监测的应用开发 156
4.2.1 任务分析 156
4.2.2 知识链接 157
4.2.3 任务实施 164
任务4.3 环境参数持久化存储的应用开发 173
4.3.1 任务分析 173
4.3.2 知识链接 175
4.3.3 任务实施 200
任务4.4 具备交互功能的人机界面应用开发 227
4.4.1 任务分析 227
4.4.2 知识链接 228
4.4.3 任务实施 241
项目5 多机通信系统的设计与实现 257
任务5.1 基于RS-485总线的多机通信应用开发 258
5.1.1 任务分析 258
5.1.2 知识链接 258
5.1.3 任务实施 262
任务5.2 基于CAN总线的多机通信应用开发 275
5.2.1 任务分析 275
5.2.2 知识链接 276
5.2.3 任务实施 298
参考文献 314