新書推薦:
《
父母会规划,孩子能成才
》
售價:HK$
65.8
《
为何家会伤人(2025版) 新增1.5万字“原生家庭20问” 知名心理学者武志红代表作
》
售價:HK$
68.2
《
戈特曼情感大师系列6册:爱的沟通+幸福的婚姻+幸福的家庭+幸福婚姻的10大敌人+爱的博弈+当婚姻中有了孩子
》
售價:HK$
659.3
《
吐司三明治自己做最好吃:102款花样吐司+85款爆款三明治+11款轻食沙拉+5款灵魂抹酱
》
售價:HK$
43.8
《
DK马术全书(全新升级版)
》
售價:HK$
262.9
《
货币之手
》
售價:HK$
142.9
《
被困住的人(余华、李翊云等名家推崇的短篇大师,历时20多年创作,73个受困于生活的故事,洞见人性的幽微之处和人生的真相)
》
售價:HK$
240.9
《
灯花笑共此灯(全二册)
》
售價:HK$
76.8
編輯推薦:
嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,对性能、成本、体积、功耗及可靠性有严格要求的专用计算机系统。在现实生活中,涉及计算机控制的电子产品绝大多数用到了嵌入式系统,特别是在人工智能、无人驾驶、机器人、无人机、汽车电子、航空航天、海洋监测、智能监控、智慧健康等领域。作为计算机领域的一个重要组成部分,嵌入式系统已成为研究与应用的热点。本书系统讲述基于STM32F407微控制器与FreeRTOS开发的Arm嵌入式系统设计与应用,包括:
? 嵌入式微处理器
? STM32系列微控制器;
? 嵌入式开发平台的搭建;
? STM32 GPIO口;
? STM32中断;
? STM32定时器;
? STM32 通用同步异步收发器;
? STM32 SPI串行总线;
? STM32 I2C串行总线;
? STM32 A/D转换器;
? STM32 DMA控制器;
? 嵌入式实时操作系统FreeRTOS。
教学资源
? 程序代码
? 教学大纲
? 教学课件
? 测试试题
? 习题解答
內容簡介:
本书秉承“新工科”理念,从科研、教学和工程实际应用出发,理论联系实际,全面系统地讲述了基于STM32F407微控制器的嵌入式系统设计与应用实例,并讲述了FreeRTOS嵌入式实时操作系统。
來源:香港大書城megBookStore,http://www.megbook.com.hk 全书共分13章,主要内容包括:绪论、嵌入式微处理器、STM32系列微控制器、嵌入式开发平台的搭建、STM32 GPIO、STM32中断、STM32定时器、STM32 通用同步异步收发器(USART)、STM32 SPI串行总线、STM32 I2C串行总线、STM32 A/D转换器、STM32 DMA控制器和嵌入式实时操作系统FreeRTOS。全书内容丰富,体系先进,结构合理,理论与实践相结合,尤其注重工程应用技术。
通过阅读本书,读者可以掌握STM32F4标准固件库的开发方式和工具软件的使用,掌握STM32F407的系统功能和常用外设的编程开发方法,通过FreeRTOS的学习,掌握嵌入式实时操作系统的应用方法。
本书是在作者教学与科研实践经验的基础上,结合近20年的STM32嵌入式系统的发展编写而成的。
本书可作为高等院校各类自动化、软件工程、机器人、自动检测、机电一体化、人工智能、电子与电气工程、计算机应用、信息工程、物联网等相关专业的本科生、研究生授课教材,也可作为广大从事嵌入式系统开发的工程技术人员的参考用书。
關於作者:
李正军 山东大学教授,硕士研究生导师。1984年毕业于山东大学数学系,同年留山东大学数学系任教;先后担任“211工程”重点建设项目“现场总线技术实验室”负责人、控制科学与工程学院微机原理课程负责人。中国电气工业协会设备网现场总线分会理事、中华人民共和国机械行业标准《低压电气通信规约》审稿人,全国电器设备网络通信接口标准化委员会委员。发表科研与教学论文50余篇,出版著作15部,并获山东大学优秀教师等荣誉称号。承担省部级与企业科研课题30余项,主要研究方向包括嵌入式系统、计算机控制技术、现场总线应用技术、电力电子技术等。
目錄 :
第1章绪论
1.1嵌入式系统
1.1.1嵌入式系统概述
1.1.2嵌入式系统和通用计算机系统比较
1.1.3嵌入式系统的特点
1.2嵌入式系统的组成
1.3嵌入式系统的软件
1.3.1无操作系统的嵌入式软件
1.3.2带操作系统的嵌入式软件
1.3.3嵌入式操作系统的分类
1.3.4嵌入式实时操作系统的功能
1.3.5典型嵌入式操作系统
1.4嵌入式系统的应用领域
1.5嵌入式系统的体系
1.5.1硬件架构
1.5.2软件层次
第2章嵌入式处理器
2.1Arm嵌入式处理器
2.1.1Arm处理器的特点
2.1.2Arm体系结构的版本和系列
2.1.3Arm的RISC结构特性
2.2存储器系统
2.2.1存储器系统概述
2.2.2嵌入式系统存储器的分类
2.3嵌入式处理器的分类和特点
2.3.1嵌入式微处理器
2.3.2嵌入式微控制器
2.3.3嵌入式DSP
2.3.4嵌入式SoC
2.3.5嵌入式处理器的特点
第3章STM32系列微控制器
3.1STM32 微控制器概述
3.1.1STM32微控制器产品介绍
3.1.2STM32系统性能分析
3.1.3CortexM4的三级流水线
3.1.4STM32微控制器的命名规则
3.1.5STM32F1和STM32F4的区别
3.1.6STM32微控制器的选型
3.2STM32F407ZGT6概述
3.2.1STM32F407的主要特性
3.2.2STM32F407的主要功能
3.3STM32F407ZGT6芯片内部结构
3.4STM32F407VGT6芯片引脚和功能
3.5STM32F407VGT6最小系统设计
第4章嵌入式开发环境的搭建
4.1Keil MDK安装配置
4.1.1Keil MDK简介
4.1.2Keil MDK下载
4.1.3Keil MDK安装
4.1.4安装库文件
4.2Keil MDK新工程的创建
4.2.1建立文件夹
4.2.2打开Keil μVision
4.2.3新建工程
4.3JScope安装
4.4JScope调试方法
4.4.1打开JScope
4.4.2JScope功能区介绍
4.4.3新建工程
4.4.4添加变量
4.4.5保存工程
4.4.6进入调试模式
4.4.7停止调试
4.4.8查看存储的变量
4.5CortexM4 微控制器软件接口标准(CMSIS)
4.5.1CMSIS介绍
4.5.2STM32F40x标准外设库
4.6STM32F407开发板的选择
4.7STM32仿真器的选择
第5章STM32 GPIO
5.1STM32 GPIO接口概述
5.1.1输入通道
5.1.2输出通道
5.2STM32 GPIO功能
5.2.1普通I/O功能
5.2.2单独的位设置或位清除
5.2.3外部中断/唤醒线
5.2.4复用功能
5.2.5软件重新映射I/O复用功能
5.2.6GPIO锁定机制
5.2.7输入配置
5.2.8输出配置
5.2.9复用功能配置
5.2.10高阻抗模拟输入配置
5.2.11STM32的GPIO操作
5.2.12外部中断映射和事件输出
5.2.13GPIO的主要特性
5.3STM32的GPIO常用库函数
5.4STM32的GPIO使用流程
5.5STM32 GPIO输出应用实例
5.5.1STM32的GPIO输出应用硬件设计
5.5.2STM32的GPIO输出应用软件设计
5.6STM32 GPIO输入应用实例
5.6.1STM32的GPIO输入应用硬件设计
5.6.2STM32的GPIO输入应用软件设计
第6章STM32中断
6.1中断概述
6.1.1中断
6.1.2中断的功能
6.1.3中断源与中断屏蔽
6.1.4中断处理过程
6.1.5中断优先级与中断嵌套
6.2STM32F4中断系统
6.2.1STM32F4嵌套向量中断控制器
6.2.2STM32F4中断优先级
6.2.3STM32F4中断向量表
6.2.4STM32F4中断服务程序
6.3STM32F4外部中断/事件控制器
6.3.1STM32F4的 EXTI内部结构
6.3.2STM32F4的EXTI主要特性
6.4STM32F4中断系统库函数
6.4.1NVIC相关的库函数
6.4.2EXTI相关的库函数
6.5STM32F4外部中断设计流程
6.6STM32F4外部中断设计实例
6.6.1STM32F4外部中断的硬件设计
6.6.2STM32F4外部中断的软件设计
第7章STM32定时器
7.1STM32定时器概述
7.2STM32基本定时器
7.2.1基本定时器介绍
7.2.2基本定时器的功能
7.2.3基本定时器的寄存器
7.3STM32通用定时器
7.3.1通用定时器介绍
7.3.2通用定时器的功能
7.3.3通用定时器的工作模式
7.3.4通用定时器的寄存器
7.4STM32定时器库函数
7.5STM32定时器应用实例
7.5.1STM32定时器配置流程
7.5.2STM32定时器应用硬件设计
7.5.3STM32定时器应用软件设计
第8章STM32通用同步/异步收发器
8.1串行通信基础
8.1.1串行异步通信数据格式
8.1.2串行同步通信数据格式
8.2STM32的USART工作原理
8.2.1USART介绍
8.2.2USART的主要特性
8.2.3USART的功能
8.2.4USART的通信时序
8.2.5USART的中断
8.2.6USART的相关寄存器
8.3STM32的USART 库函数
8.4STM32 USART串行通信应用实例
8.4.1STM32 USART基本配置流程
8.4.2USART串行通信应用的硬件设计
8.4.3USART串行通信应用的软件设计
第9章STM32 SPI串行总线
9.1STM32的SPI通信原理
9.1.1SPI串行总线概述
9.1.2SPI串行总线互连方式
9.2STM32F407 SPI串行总线的工作原理
9.2.1SPI串行总线的特征
9.2.2SPI串行总线的内部结构
9.2.3SPI串行总线时钟信号的相位和极性
9.2.4STM32的SPI配置
9.2.5STM32的SPI数据发送与接收过程
9.3STM32的SPI库函数
9.4STM32的SPI应用实例
9.4.1STM32的SPI配置流程
9.4.2SPI与Flash接口的硬件设计
9.4.3SPI与Flash接口的软件设计
第10章STM32 I2C串行总线
10.1STM32 I2C串行总线的通信原理
10.1.1STM32 I2C串行总线概述
10.1.2I2C总线的数据传输
10.2STM32 I2C串行总线接口
10.2.1STM32 I2C串行总线的主要特性
10.2.2STM32 I2C串行总线的内部结构
10.2.3STM32 I2C串行总线的功能描述
10.3STM32F4的I2C库函数
10.4STM32 I2C应用实例
10.4.1STM32的I2C配置
10.4.2STM32 I2C与EEPROM接口的硬件设计
10.4.3STM32 I2C与EEPROM接口的软件设计
第11章STM32模数转换器
11.1模拟量输入通道
11.1.1模拟量输入通道的组成
11.1.2ADC的工作原理
11.2模拟量输入信号类型与量程自动转换
11.2.1模拟量输入信号类型
11.2.2量程自动转换
11.3STM32F407微控制器的ADC结构
11.4STM32F407 微控制器的ADC功能
11.4.1ADC使能和启动
11.4.2时钟配置
11.4.3转换模式
11.4.4DMA控制
11.4.5STM32的ADC应用特征
11.5STM32的ADC库函数
11.6STM32 ADC应用实例
11.6.1STM32的ADC配置流程
11.6.2STM32 ADC应用的硬件设计
11.6.3STM32 ADC应用的软件设计
第12章STM32 DMA控制器
12.1STM32 DMA的基本概念
12.1.1DMA的定义
12.1.2DMA在嵌入式实时系统中的价值
12.1.3DMA传输的基本要素
12.1.4DMA传输过程
12.1.5DMA的特点与应用
12.2STM32 DMA的结构和主要特征
12.3STM32 DMA的功能描述
12.3.1DMA处理
12.3.2仲裁器
12.3.3DMA通道
12.3.4DMA中断
12.4STM32的DMA库函数
12.5STM32 DMA应用实例
12.5.1STM32的DMA配置流程
12.5.2DMA应用的硬件设计
12.5.3DMA应用的软件设计
第13章嵌入式实时操作系统FreeRTOS
13.1FreeRTOS系统概述
13.1.1FreeRTOS的特点
13.1.2FreeRTOS的商业许可
13.1.3选择FreeRTOS的理由
13.1.4FreeRTOS的发展历史
13.1.5FreeRTOS的功能
13.1.6FreeRTOS的一些概念和术语
13.1.7为什么要使用RTOS
13.2FreeRTOS的源代码和相应官方手册获取
13.3FreeRTOS系统移植
13.4FreeRTOS的文件组成
13.5FreeRTOS的编码规则及配置和功能裁剪
13.6FreeRTOS的任务管理
13.6.1任务相关的一些概念
13.6.2FreeRTOS的任务调度
13.6.3任务管理相关函数
13.7进程间通信与消息队列
13.7.1进程间通信
13.7.2队列的特点和基本操作
13.8信号量和互斥量
13.8.1二值信号量
13.8.2计数信号量
13.8.3优先级翻转问题
13.8.4互斥量
13.8.5递归互斥量
13.8.6相关函数概述
13.9事件组
13.9.1事件组的功能和原理
13.9.2事件组相关函数
13.10软件定时器
13.10.1软件定时器概述
13.10.2软件定时器相关函数
13.11FreeRTOS任务管理应用实例
参考文献
內容試閱 :
嵌入式系统在人工智能、无人驾驶、机器人、无人机、汽车电子、航空航天、海洋监测、智能监控、智慧健康等领域得到了广泛的应用。STM32作为Arm的一个典型系列,以其较高的性能和优越的性价比,毫无疑问地成为32位单片机市场的主流。把STM32 引入大学的培养体系,已经成为高校广大师生的普遍共识并被付诸实践。
32位微控制器时代已经到来。32位微控制器性能优越、功能强大但结构复杂,使很多嵌入式工程师望而却步。读者对一本好的嵌入式系统入门教材的需求越来越迫切。
意法半导体(ST)公司自推出Arm CortexM3内核的STM32F1系列微控制器之后,又推出 Arm CortexM4内核的STM32F4系列微控制器。STM32F1最高主频为72MHz, STM32F4最高主频为168MHz; STM32F4具有单精度浮点运算单元,STM32F1没有浮点运算单元; STM32F4具备增强的DSP指令集; STM32F4执行16位DSP指令的时间只有STM32F1的30%~70%,而执行32位DSP指令的时间只有STM32F1的25%~60%。
Arm CortexM4是采用哈佛结构、拥有独立指令总线和数据总线的32位处理器内核,指令总线和数据总线共享同一个存储器空间(一个统一的存储器系统),为系统资源的分配和管理提供了很好的支持。
正因为如此,基于Arm CortexM4的STM32系列MCU以其高性能、低功耗、高可靠性和低价格的特点,逐渐成为高校师生与工程师学习和使用的主要MCU类型。
本书还讲述了嵌入式实时操作系统FreeRTOS。FreeRTOS是Richard Barry 于2003年发布的一款开源免费的嵌入式实时操作系统,其作为一个轻量级的实时操作系统内核,功能包括任务管理、时间管理、信号量、消息队列、内存管理、软件定时器等,可基本满足较小系统的需要。
因此,本书以ST公司基于32位Arm内核的STM32F407为背景机型,介绍嵌入式系统原理与应用。由于STM32的网上资源非常丰富,因此便于读者学习参考。
本书的特点如下。
(1) 采用流行的STM32F407系列嵌入式微控制器讲述嵌入式系统原理与应用实例。
(2) 讲述应用广泛的嵌入式实时操作系统FreeRTOS。
(3) 内容精练、图文并茂、循序渐进、重点突出。
(4) 不讲述烦琐的STM32寄存器,重点讲述STM32的库函数。
(5) 以理论为基础,以应用为主导,章节内容前后安排逻辑性强、层次分明、易教易学。
(6) 结合国内主流硬件开发板(野火STM32开发板F407霸天虎),书中给出了各个外设模块的硬件设计和软件设计实例,其代码采用STM32F4标准库函数编程,且在开发板上调试通过,并通过TFT LCD或串口调试助手查看调试结果,可以很好地锻炼学生的硬件理解能力和软件编程能力,起到举一反三的效果。
(7) 由于所选开发板的价格在500元左右,且可以在网上轻易买到,方便学校实验教学。
本书共13章。第1章对嵌入式系统进行概述,介绍嵌入式系统的组成、嵌入式系统的软件、
嵌入式系统的应用领域和嵌入式系统的体系; 第2章讲述
嵌入式处理器,包括Arm嵌入式处理器、存储器系统、嵌入式
处理器的分类和特点; 第3章讲述STM32系列微控制器,
包括STM32微控制器
概述、STM32F407ZGT6概述及芯片内部结构、STM32F407VGT6芯片引脚和功能
以及STM32F407VGT6最小系统设计; 第4章讲述嵌入式开发环境的搭建,包括Keil MDK安装配置、Keil MDK
新工程的创建、JScope安装、JScope调试方法、CortexM4 微控制器软件接口标准(CMSIS)、STM32F407开发板的选择和STM32仿真器的选择; 第5章讲述
STM32 GPIO,包括STM32 GPIO接口概述、
STM32
GPIO功能、STM32的GPIO常用库函数、
STM32的
GPIO使用流程、STM32 GPIO输出应用实例和STM32 GPIO输入应用实例; 第6章讲述
STM32中断,包括中断概述、STM32F4中断系统、STM32F4外部中断/事件控制器
STM32F4中断系统库函数、STM32F4外部中断设计流程、STM32F4外部中断设计实例; 第7章讲述
STM32定时器,包括STM32定时器概述、基本定时器、通用定时器、STM32定时器库函数和STM32定时器应用实例; 第8章讲述
STM32 通用同步/异步收发器,包括串行通信基础、STM32的USART工作原理、STM32的USART 库函数和STM32 USART串行通信应用实例; 第9章讲述STM32 SPI串行总线,包括STM32的SPI通信原理、STM32F407 SPI串行总线的工作原理、STM32的SPI库函数和STM32的SPI应用实例; 第10章讲述
STM32 I2C串行总线,包括STM32 I2C串行总线的通信原理、STM32 I2C串行总线接口、STM32F4的I2C库函数和STM32 I2C应用实例; 第11章讲述
STM32模数转换器,包括模拟量输入通道、模拟量输入信号类型与量程自动转换、STM32F407微控制器的ADC结构、STM32F407微控制器的ADC功能、STM32的ADC库函数和STM32 ADC应用实例; 第12章讲述STM32 DMA控制器,包括STM32 DMA的基本概念、DMA的结构和主要特征、DMA的功能描述、STM32的DMA库函数和STM32 DMA应用实例; 第13章讲述
嵌入式实时操作系统FreeRTOS,包括FreeRTOS系统概述、FreeRTOS的源代码和相应官方手册获取、FreeRTOS 系统移植、FreeRTOS的文件组成、FreeRTOS的编码规则及配置和功能裁剪、FreeRTOS的任务管理、进程间通信与消息队列、信号量
和互斥量、事件组、软件定时器和FreeRTOS任务管理应用实例。
本书结合编者多年的科研和教学经验,遵循“循序渐进,理论与实践并重,共性与个性兼顾”的原则,将理论实践一体化的教学方式融入其中。书中的实例均进行了调试,开发过程用到的是目前使用最广的“野火STM32开发板F407霸天虎”
。读者也可以结合实际或手里现有的开发板开展实验,均能获得实验结果。
本书数字资源丰富,配有电子课件、程序代码、教学大纲、习题答案、试卷及答案等电子配套资源。
对本书中所引用的参考文献的作者,在此一并向他们表示真诚的感谢。由于编者水平有限,加上时间仓促,书中难免存在
不妥之处,敬请广大读者不吝指正。
编者2024年12月