华信教育资源网
STM32应用技术项目实践
丛   书   名: 立体化教材  高等职业教育新业态新职业新岗位系列教材
作   译   者:马颖 出 版 日 期:2025-08-01
出   版   社:电子工业出版社 维   护   人:王昭松 
书   代   号:G0496120 I S B N:9787121496127

图书简介:

本书以 STM32CubeIDE、STM32CubeMX+MDK Keil 两种开发平台为例,介绍 STM32F407 芯片的系统功能和常用外设的编程开发方法,内容包括 STM32 软硬件开发基础、GPIO、外部中断、串行通信、定时器、LCD、PWM 输出、ADC 等。本书编写力求通俗易懂,针对职业教育特点,采用“项目导向、任务驱动”教学模式构建内容体系, 全书由 4 个项目共 13 个任务构成,主要包括开发平台的搭建、软件的使用、基于 HAL 库的 STM32 工程创建和 STM32F4 系统时钟、GPIO 的配置,并基于 STM32F407 开发板实施 LED 控制设计、三人抢答器设计和智能调光灯设计等。书中融入了大量互动式学习内容,读者可以扫描书中的二维码获得开发代码及解决问题的思路等。本书附有完整的开发代码、PPT 课件及思考练习答案,读者可登录华信教育资源网注册后免费下载。
定价 54.0
您的专属联系人更多
关注 评论(0) 分享
配套资源 图书内容 样章/电子教材 图书评价
  • 配 套 资 源

    本书资源

    会员上传本书资源

  • 图 书 内 容

    内容简介

    本书以 STM32CubeIDE、STM32CubeMX+MDK Keil 两种开发平台为例,介绍 STM32F407 芯片的系统功能和常用外设的编程开发方法,内容包括 STM32 软硬件开发基础、GPIO、外部中断、串行通信、定时器、LCD、PWM 输出、ADC 等。本书编写力求通俗易懂,针对职业教育特点,采用“项目导向、任务驱动”教学模式构建内容体系, 全书由 4 个项目共 13 个任务构成,主要包括开发平台的搭建、软件的使用、基于 HAL 库的 STM32 工程创建和 STM32F4 系统时钟、GPIO 的配置,并基于 STM32F407 开发板实施 LED 控制设计、三人抢答器设计和智能调光灯设计等。书中融入了大量互动式学习内容,读者可以扫描书中的二维码获得开发代码及解决问题的思路等。本书附有完整的开发代码、PPT 课件及思考练习答案,读者可登录华信教育资源网注册后免费下载。

    图书详情

    ISBN:9787121496127
    开 本:16(185*260)
    页 数:204
    字 数:326

    本书目录

    项目 1	搭建 STM32 开发环境	1
    任务 1.1	认识 STM32F4 开发板	2
    任务描述	2
    任务学习	2
    1.1.1	初识 STM32	2
    1.1.2	认识 STM32F407 芯片	3
    1.1.3	认识 STM32F4 开发板	8
    任务实施	9
    步骤 1:搜集芯片数据手册及开发板的相关资料	9
    步骤 2:查找 STM32F4 开发板的连接外设的引脚	9
    任务 1.2	安装 STM32 开发软件	10
    任务描述	10
    任务学习	11
    1.2.1	STM32 的开发方式	11
    1.2.2	STM32 的开发软件	11
    任务实施	12
    步骤 1:检查 Java 运行环境	12
    步骤 2:安装 CubeIDE 软件	13
    步骤 3:安装 CubeMX 软件及固件包	14
    步骤 4:安装 Keil MDK 软件及固件包	16
    任务 1.3	创建 STM32 工程	19
    任务描述	19
    任务学习	19
    1.3.1	认识主要项目文件及 CMSIS 标准	19
    1.3.2	LED 的硬件电路及其 GPIO 配置	21
    任务实施 1:CubeMX 软件工程配置	22
    步骤 1:选芯片新建工程,认识软件界面	22
     
    步骤 2:配置系统时钟	24
    步骤 3:配置 GPIO	27
    步骤 4:生成初始化代码	28
    任务实施 2:在 Keil MDK 软件中编写控制 LED 的代码	30
    步骤 1:认识 Keil MDK 软件界面,设置输出 hex 文件	30
    步骤 2:Keil MDK 软件的几个设置技巧	32
    步骤 3:编写控制 LED 闪烁的代码	34
    任务实施 3:使用 CubeIDE 配置工程,编写代码	35
    步骤 1:创建 STM32 工程	35
    步骤 2:配置系统时钟和 GPIO	38
    步骤 3:生成初始化代码,认识编辑界面	38
    步骤 4:编写控制 LED 亮灭的代码	43
    步骤 5:设置输出 hex 文件	43
    任务 1.4	程序下载与调试	44
    任务描述	44
    任务学习	44
    1.4.1	STM32F4 的程序下载方式	44
    1.4.2	开发板的串口一键下载电路	45
    任务实施	46
    步骤 1:安装 CH340 串口驱动程序	46
    步骤 2:使用 FlyMcu 软件实现串口下载	47
    步骤 3:安装 ST-LINK 驱动程序	48
    步骤 4:在 Keil MDK 软件中使用 ST-LINK 下载程序	50
    步骤 5:在 CubeIDE 软件中使用 ST-LINK 下载程序	52
    拓展训练:声光报警器设计	53
    项目评价	55
    思考练习	55
    项目 2	LED 控制设计	57
    任务 2.1	8 位跑马灯设计	58
    任务描述	58
    任务学习	58
    2.1.1	STM32F4 的时钟系统及其初始化函数	58
    2.1.2	STM32F4 的 GPIO 及其配置	61
    2.1.3	GPIO 相关的 API 函数	64
    任务实施	66
     
    步骤 1:8 位跑马灯硬件电路设计	66
    步骤 2:CubeMX 工程配置	67
    步骤 3:查看和分析项目初始化配置代码	68
    步骤 4:编写 LED 控制函数	70
    步骤 5:上板验证跑马灯功能	72
    拓展训练:循环点亮 RGB 灯	73
    任务 2.2	按键控制 LED 设计	74
    任务描述	74
    任务学习	75
    2.2.1	按键工作原理	75
    2.2.2	独立按键输入检测函数设计	76
    任务实施	77
    步骤 1:硬件电路设计	77
    步骤 2:CubeMX 工程配置	78
    步骤 3:创建外设驱动文件,添加文件路径	79
    步骤 4:编写按键检测函数及 LED 宏函数	85
    步骤 5:实现按键控制 LED 设计	87
    拓展训练:按键控制 RGB 灯	88
    任务 2.3	串口控制 LED 设计	88
    任务描述	88
    任务学习	89
    2.3.1	串行通信概述	89
    2.3.2	异步串行通信协议	90
    2.3.3	串口操作的 HAL 库相关函数	92
    技能训练 1:串口发送信息	92
    步骤 1:硬件电路设计	92
    步骤 2:串口 CubeMX 工程配置	93
    步骤 3:复制外设驱动文件,添加文件路径	96
    步骤 4:分析串行通信配置代码	97
    步骤 5:添加串口重定向代码	98
    步骤 6:实现串口发送功能	99
    技能训练 2:串口发送及接收信息	100
    步骤 1:复制串口通信工程	100
    步骤 2:编写串口接收信息功能代码	101
    步骤 3:下载调试串口发送及接收信息功能	103
    任务实施	103
    步骤 1:编写串口控制 LED 代码	103
     
    步骤 2:下载程序并测试串口控制 LED 功能	104
    拓展训练:串口控制 RGB 灯	105
    项目评价	106
    思考练习	106
    项目 3	三人抢答器设计	108
    任务 3.1	三人抢答器按键模块设计	109
    任务描述	109
    任务学习	109
    3.1.1	中断概述	109
    3.1.2	NVIC 中断优先级	111
    3.1.3	EXTI 外部中断	111
    3.1.4	EXTI 相关 HAL 函数	113
    任务实施	113
    步骤 1:外部中断按键引脚配置	113
    步骤 2:CubeMX 工程配置	114
    步骤 3:外部中断按键代码设计	115
    拓展训练 1:给三人抢答器添加三个选手指示灯	117
    拓展训练 2:通过外部中断方式实现按键控制 RGB 灯	118
    任务 3.2	三人抢答器限时抢答设计	118
    任务描述	118
    任务学习	119
    3.2.1	STM32 定时器概述	119
    3.2.2	通用定时器	121
    3.2.3	基本定时器	123
    3.2.4	定时器的 HAL 驱动函数	124
    技能训练:通用定时器设计	125
    步骤 1:通用定时器参数计算	125
    步骤 2:通用定时器 CubeMX 工程配置	125
    步骤 3:实现通用定时器控制 LED 闪烁	128
    任务实施	129
    步骤 1:基本定时器参数计算	129
    步骤 2:基本定时器 CubeMX 工程配置	129
    步骤 3:限时抢答代码设计及浮点数输出	130
    任务 3.3	三人抢答器显示界面设计	134
    任务描述	134
     
    任务学习	134
    3.3.1	TFTLCD 概述	134
    3.3.2	FSMC 简介	136
    技能训练:TFTLCD 显示	139
    步骤 1:连接 TFTLCD 硬件电路	140
    步骤 2:TFTLCD 的 CubeMX 工程配置	141
    步骤 3:分析代码,移植 LCD 驱动文件	142
    步骤 4:编写 TFTLCD 显示代码	148
    任务实施	149
    步骤 1:复制工程	149
    步骤 2:编写代码	149
    拓展训练 1:在 TFTLCD 上显示自己设计的 LOGO	151
    拓展训练 2:添加 48 号字体在 LCD 显示	152
    项目整体实施	153
    步骤 1:三人抢答器工程配置	153
    步骤 2:移植三人抢答器显示界面代码	154
    步骤 3:下载程序,检测三人抢答器整体功能	155
    项目评价	155
    思考练习	156
    项目 4	智能调光灯设计	157
    任务 4.1	调光灯手动模式设计	158
    任务描述	158
    任务学习	158
    4.1.1	PWM 工作原理	158
    4.1.2	PWM 相关的 HAL 函数	160
    任务实施	161
    步骤 1:PWM 参数计算	161
    步骤 2:PWM 的 CubeMX 工程配置	161
    步骤 3:实现按键调光灯设计	163
    拓展训练:使用 USB_LED 设计按键调光灯	165
    任务 4.2	调光灯自动模式设计	167
    任务描述	167
    任务学习	168
    4.2.1	STM32F4 的 ADC	168
    4.2.2	光敏传感器	170
     
    技能训练:光敏传感器及 ADC 检测	171
    步骤 1:硬件电路设计	171
    步骤 2:ADC 的 CubeMX 工程配置	172
    步骤 3:编写光敏传感器实现代码	173
    任务实施	176
    步骤 1:配置工程,编写 ADC 代码	176
    步骤 2:编写主函数代码	176
    步骤 3:下载程序,测试功能	178
    任务 4.3	汉字及图片的 LCD 界面设计	178
    任务描述	178
    任务学习	179
    4.3.1	汉字显示原理	179
    4.3.2	图片显示格式	180
    技能训练 1:汉字显示设计	181
    步骤 1:通过 PCtoLCD 2002 软件进行汉字取模	181
    步骤 2:编写显示汉字的应用函数	182
    步骤 3:编写汉字显示代码	183
    技能训练 2:图片显示设计	183
    步骤 1:添加图片显示驱动文件	183
    步骤 2:通过 Image2Lcd 软件进行图片取模	184
    步骤 3:编写代码实现图片显示	185
    任务实施	185
    步骤 1:对 ASCII 码取模 48 号字符集	185
    步骤 2:在主函数中编写智能调光灯 LCD 显示的代码	185
    项目整体实施	187
    步骤 1:复制工程,移植 LCD 文件	188
    步骤 2:添加汉字及图片的 LCD 界面设计相关代码	188
    步骤 3:上板测试	189
    项目评价	189
    思考练习	190
    附录 A	开发板部分电路原理图	191
    参考文献	194
    
    展开

    前     言

    本书是 STM32 开发应用的入门教材。编者通过三年项目教学改革实践,结合高职院校职业技能大赛相关赛项技能要求组织编写本书内容。采用“项目导向、任务驱动”教学模式,精心选择项目载体,将 STM32 软硬件开发基础、GPIO、外部中断、串行通信、定时器、LCD、PWM 输出、ADC 等内容融入各项目。
    本书的主要特点如下。
    (1)	根据高职教学要求,精选 4 个项目,分解为 13 个任务,由浅入深地介绍 STM32
    的应用技术。
    项目 1 为搭建 STM32 开发环境,介绍 STM32F407 芯片及其开发板资源,两种
    STM32 开发软件的安装、使用及程序下载、调试等内容。
    项目 2 为 LED 控制设计,介绍 STM32F4 的时钟系统配置、GPIO 输出控制 LED、按键输入控制 LED、USART 串行通信控制 LED 的设计。
    项目 3 为三人抢答器设计,该项目是综合设计项目,根据电路功能拆分为三个任务, 分别实现按键模块设计、限时抢答设计和显示界面设计,最后将三个任务整合到一起实现完整的抢答器功能设计。
    项目 4 为智能调光灯设计,该项目是综合工程设计案例,分别用 PWM 实现调光灯手动模式设计、用 ADC 及传感器测光实现调光灯自动模式设计,以及用 LCD 显示汉字及图片的界面设计,最终将三个任务整合到一起实现智能调光灯的全部功能。
    (2)	介绍两种 HAL 库开发平台,以满足不同教学场景的使用需求。一是基于 HAL 库开发的 STM32 主流平台 STM32CubeMX。使用该软件进行 STM32 项目建立和初始化配置, 可快速生成基于 HAL 库的程序框架,并在 Keil MDK 软件上对代码进行编写和调试,直至完成最终项目开发。二是使用意法半导体公司在 2019 年推出的 STM32CubeIDE 开发平台,它将 STM32CubeMX 和 Keil MDK 集成在一起,不需要安装多个开发平台即可实现一体化的开发。这两款开发平台紧跟当前 ST 技术发展趋势,可满足不同教学场景需求。
    (3)	融入高职院校职业技能大赛的技能点考核要求。本书基于职业教育特点,融入职业技能大赛技能点,由浅入深、循序渐进,从简单到复杂,不断提高学习难度,每个项目配有考核评分表和拓展训练,学生可以借此清楚地了解自身学习情况,进而制定有效的改进措施,进行巩固训练,提升职业技能,同时培养思维迁移能力,增强其自学能力及创新
     
    能力。
    本书使用 STM32F4 开发板进行项目设计,在编写过程中参考了正点原子的相关例程及技术资料,也得到了正点原子工程师的技术支持。本书提供教学资源包(包括课件、程序代码、思考练习答案等教学资源),可登录华信教育资源网(www.hxedu.com.cn)免费注册后下载。
    本书由四川信息职业技术学院马颖主编,在编写过程中得到了四川信息职业技术学院王坤教授和李华教授的支持与指导,在此表示衷心的感谢。书稿在策划与编辑的过程中, 得到了电子工业出版社王昭松编辑的帮助,在此表示诚挚的感谢。
    限于编者水平,本书在内容取舍、编写方面难免存在疏漏之处,恳请读者批评指正, 编者邮箱:370129952@qq.com。
    
    展开

    作者简介

    马颖,四川信息职业技术学院,副教授,具有20多年的教学经验,负责多门国家级精品课程、省级精品在线课程建设工作,主编多部教材,在电子技术、EDA开发、集成电路技术方面具有扎实的教研经验。
  • 样 章 试 读
    本书暂无样章试读!
  • 图 书 评 价 我要评论
华信教育资源网