搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
出版时间 :
无库存
ARM Cortex-M4嵌入式系统原理及应用——基于STM32F407微控制器的HAL库开发(
0.00     定价 ¥ 79.00
泸西县图书馆
此书还可采购1本,持证读者免费借回家
  • ISBN:
    9787302656722
  • 作      者:
    黄克亚
  • 出 版 社 :
    清华大学出版社
  • 出版日期:
    2024-04-01
收藏
畅销推荐
编辑推荐

全书共18章,分为三篇:第一篇(第1~3章)为系统平台模块,介绍嵌入式系统定义、嵌入式硬件平台和软件环境;第二篇(第4~10章)为基本外设模块,介绍STM32嵌入式系统常用的外设模块,包括GPIO、中断、定时器、PWM和嵌入式系统接口技术;第三篇(第11~18章)为扩展外设模块,介绍STM32嵌入式系统高级外设模块和典型的传感器,包括USART、SPI、W25Q128、I2C、EEPROM、ADC、DMA、DAC、RTC、DHT11等。

系统论述基于STM32CubeMX的HAL开发方法。

以读者认知过程为导向编排组织书中章节内容。

项目引领,任务驱动,培养读者工程实践能力。

构建立体化的教学资源,便于课程教学与项目开发。

展开
作者简介

黄克亚  苏州大学副教授、软件设计师、硕士生导师,主要从事智能控制、嵌入式系统开发等领域的教学和科研工作。长期讲授“电工电子技术”“单片机原理与控制技术”“微机原理及应用”“嵌入式系统开发与实践”“传感器应用技术”等课程。近年来主持省级课题2项,获授权发明专利2项,登记软件著作权4项,发表SCI/EI/中文核心论文12篇。指导学生获全国软件和信息技术专业人才大赛全国总决赛二等奖2项、全国大学生电子设计竞赛江苏省赛区二等奖2项、江苏省本专科优秀毕业设计(论文)三等奖1项。

展开
内容介绍

本书详细阐述了基于ARM Cortex-M4内核的STM32F407微控制器嵌入式系统硬件设计方法和软件开发技术。全书共有十八章,划分为三篇:第一篇(第1~3章)为系统平台,讲述嵌入式系统定义、嵌入式硬件平台和软件环境配置与使用入门。第二篇(第4~10章)为基本外设,分别对STM32嵌入式系统最常用的外设模块进行介绍,包括GPIO、中断、定时器、PWM和嵌入式系统接口技术。第三篇(第11~18章)为扩展外设,分别对STM32嵌入式系统高级外设模块和典型传感器进行讲解,包括USART、SPI、W25Q128、IIC、EEPROM 、ADC、DMA、DAC、RTC和DHT11等。

展开
目录

第一篇系 统 平 台

第1章ARM CortexM4嵌入式系统

1.1嵌入式系统概述

1.1.1什么是嵌入式系统

1.1.2嵌入式系统和通用计算机比较

1.1.3嵌入式系统的特点

1.1.4嵌入式系统的应用领域

1.1.5嵌入式系统范例

1.2嵌入式系统的硬件

1.2.1嵌入式处理器的分类

1.2.2嵌入式处理器的技术指标

1.2.3嵌入式存储器

1.2.4嵌入式I/O设备

1.2.5嵌入式I/O接口

1.3ARM CortexM4 处理器

1.3.1ARM公司

1.3.2ARM处理器

1.4STM32微控制器

1.4.1从ARM CortexM内核到基于ARM CortexM的MCU

1.4.2STM32微控制器产品线

1.4.3STM32微控制器命名规则

1.5嵌入式系统的软件

1.5.1无操作系统的嵌入式软件

1.5.2带操作系统的嵌入式软件

1.5.3典型嵌入式操作系统

1.5.4软件结构选择建议

本章小结

思考拓展

第2章STM32F407与实验平台

2.1STM32F407微控制器

2.1.1STM32F407/STM32F417系列

2.1.2STM32F407功能特性

2.1.3STM32F407内部结构

2.1.4STM32F407存储器映射

2.1.5STM32F407时钟系统

2.1.6STM32F407引脚

2.2开发板总体概况

2.2.1开发板设计背景

2.2.2开发板总体介绍

2.3电源电路

2.3.1电源电路原理图

2.3.2电源电路工作原理

2.4核心板电路

2.4.1芯片电源电路

2.4.2CPU滤波电路

2.4.3外接晶振电路

2.4.4备用电源电路

2.4.5复位电路

2.4.6启动设置电路

2.5I/O模块电路

2.5.1LED模块

2.5.2按键模块

2.5.3显示模块

2.5.4蜂鸣器模块

2.6扩展模块电路

2.6.1温湿度传感器

2.6.2光照传感器

2.6.3A/D采样模块

2.6.4EEPROM

2.6.5Flash存储器

2.6.6波形发生器

2.6.7蓝牙模块

2.6.8I/O引脚外接模块

2.7CMSISDAP调试器

本章小结

思考拓展

第3章软件环境配置与使用入门

3.1STM32开发方式

3.1.1STM32Snippets库

3.1.2标准外设库

3.1.3STM32CubeMX HAL库

3.1.4STM32CubeMX LL库

3.1.5开发方式比较与选择

3.2软件资源安装与配置

3.2.1JRE安装

3.2.2STM32CubeMX安装

3.2.3HAL固件包安装

3.2.4MDKARM安装

3.2.5器件包安装

3.2.6MDKARM注册

3.2.7软件安装总结

3.3基于STM32CubeMX的HAL开发方式

3.3.1STM32CubeMX生成初始化代码

3.3.2MDKARM集成开发

3.4CMSISDAP调试器使用

3.4.1调试器连接与驱动安装

3.4.2调试选项设置与程序下载

3.5开发经验小结——编译器优化与volatile关键字

3.5.1编译器优化

3.5.2volatile关键字

本章小结

思考拓展

第二篇基 本 外 设

第4章通用输入输出端口

4.1GPIO概述及引脚命名

4.2GPIO内部结构

4.2.1输入驱动器

4.2.2输出驱动器

4.3GPIO工作模式

4.3.1输入浮空

4.3.2输入上拉

4.3.3输入下拉

4.3.4模拟输入

4.3.5开漏输出

4.3.6开漏复用输出

4.3.7推挽式输出

4.3.8推挽式复用输出

4.3.9工作模式选择

4.4GPIO输出速度

4.5I/O引脚复用及映射

4.6GPIO控制寄存器

4.7GPIO控制寄存器配置实例

4.8寄存器版LED灯闪烁工程

4.8.1创建寄存器版工程模板

4.8.2LED灯闪烁程序设计

4.9开发经验小结——MDK中的C语言数据类型

本章小结

思考拓展

第5章LED流水灯与SysTick定时器

5.1GPIO输出库函数

5.1.1GPIO外设时钟使能

5.1.2函数HAL_GPIO_Init()

5.1.3函数HAL_GPIO_DeInit()

5.1.4函数HAL_GPIO_WritePin()

5.1.5函数HAL_GPIO_TogglePin()

5.1.6输出寄存器访问

5.2LED流水灯控制

5.3SysTick定时器

5.3.1SysTick定时器概述

5.3.2SysTick定时器寄存器

5.3.3延时函数HAL_Delay()

5.3.4HAL_Delay()延时实例

5.3.5微秒级延时的实现

5.3.6综合延时程序实例

5.4开发经验小结——C语言中的位运算

5.4.1位运算符和位运算

5.4.2嵌入式系统位运算实例

本章小结

思考拓展

第6章按键输入与蜂鸣器

6.1GPIO输入库函数

6.1.1函数HAL_GPIO_ReadPin()

6.1.2输入数据寄存器访问

6.1.3函数HAL_GPIO_LockPin()

6.2独立按键控制蜂鸣器

6.2.1电路原理

6.2.2按键消抖

6.2.3项目实施

6.3矩阵键盘扫描

6.3.1矩阵键盘电路

6.3.2矩阵键盘扫描原理

6.3.3矩阵键盘实例

6.4开发经验小结——复合数据类型

6.4.1结构体数据类型

6.4.2枚举数据类型

本章小结

思考拓展

第7章FSMC总线与双显示终端

7.1FSMC总线

7.2硬件系统设计

7.2.1硬件结构框图

7.2.2FSMC与TFT LCD连接

7.2.3FSMC与数码管连接

7.3数码管接口技术

7.3.1数码管工作原理

7.3.2数码管编码方式

7.3.3数码管显示方式

7.4TFT LCD驱动

7.4.1ILI9341颜色体系

7.4.2ILI9341常用命令

7.5项目实例

7.5.1FSMC读写时序

7.5.2FSMC初始化

7.5.3数码管动态显示学号

7.5.4数码管动态显示时间

7.5.5LCD驱动程序

7.5.6LCD英文显示

7.5.7LCD中文信息显示

7.6开发经验小结——C语言指针及其类型转换

7.6.1指针基本概念

7.6.2指针类型转换

本章小结

思考拓展

第8章中断系统与基本应用

8.1中断的基本概念

8.1.1中断的定义

8.1.2中断的优点与应用

8.1.3中断源与中断屏蔽

8.1.4中断处理过程

8.1.5中断优先级与中断嵌套

8.2STM32F407中断系统

8.2.1嵌套向量中断控制器

8.2.2STM32F407中断优先级

8.2.3STM32F407中断向量表

8.2.4STM32F407中断服务函数

8.3STM32F407外部中断/事件控制器EXTI

8.3.1EXTI内部结构

8.3.2EXTI工作原理

8.3.3EXTI主要特性

8.4STM32F407外部中断HAL库函数

8.4.1STM32F407的NVIC相关库函数

8.4.2STM32F407的EXTI相关库函数

8.5EXTI项目实例

8.5.1项目分析

8.5.2项目实施

8.5.3ISR框架总结

8.6开发经验小结——前/后台嵌入式软件架构

本章小结

思考拓展

第9章基本定时器

9.1STM32F407定时器概述

9.2基本定时器

9.2.1基本定时器简介

9.2.2基本定时器的主要特性

9.2.3基本定时器的功能

9.2.4基本定时器寄存器

9.3基本定时器的HAL驱动

9.3.1基本定时器主要HAL驱动函数

9.3.2定时器通用操作宏函数

9.3.3定时器中断处理函数

9.4项目实例

9.4.1数字电子钟

9.4.2定时器刷新数码管

9.4.3定时器矩阵键盘扫描

本章小结

思考拓展

第10章通用定时器

10.1通用定时器功能概述

10.1.1通用定时器主要特性

10.1.2通用定时器功能描述

10.2通用定时器工作模式与HAL驱动

10.2.1PWM输出模式

10.2.2输出比较模式

10.2.3输入捕获模式

10.2.4PWM输入模式

10.3通用定时器寄存器

10.4通用定时器中断事件和回调函数

10.5项目实例

10.5.1PWM呼吸灯

10.5.2输出比较模式输出方波信号

10.5.3输入捕获模式测量脉冲频率

10.5.4PWM波频率和占空比测量

本章小结

思考拓展

第三篇扩 展 外 设

第11章串行通信接口USART

11.1数据通信基本概念

11.1.1并行通信与串行通信

11.1.2异步通信与同步通信

11.1.3串行通信的制式

11.1.4串行通信的校验

11.1.5串行通信的波特率

11.2USART工作原理

11.2.1USART介绍

11.2.2USART功能特性

11.2.3UART通信协议

11.2.4USART中断

11.2.5USART相关寄存器

11.3UART的HAL驱动

11.3.1UART常用功能函数

11.3.2UART常用的宏函数

11.3.3UART中断事件与回调函数

11.4串口通信项目实例

11.4.1项目分析

11.4.2微控制器端程序设计

11.4.3上位机程序设计

11.4.4串口通信调试

11.5开发经验小结——printf()重定向函数

11.5.1重写fputc()函数

11.5.2选择使用Micro LIB

11.5.3printf()串口打印信息

本章小结

思考拓展

第12章SPI与字库存储

12.1SPI通信原理

12.1.1SPI

12.1.2SPI互连

12.2STM32F407的SPI工作原理

12.2.1SPI主要特征

12.2.2SPI内部结构

12.2.3时钟信号的相位和极性

12.2.4数据帧格式

12.3Flash存储芯片W25Q128

12.3.1硬件接口和连接

12.3.2存储空间划分

12.3.3数据读写原则

12.3.4存储器操作指令

12.4SPI的HAL库驱动

12.4.1SPI寄存器操作的宏函数

12.4.2SPI初始化和阻塞式数据传输

12.4.3中断和DMA方式数据传输

12.5SPI Flash读写测试

12.5.1项目分析

12.5.2项目实施

12.6中文字库存储

12.6.1需求分析

12.6.2字库生成与合并

12.6.3字库存储

12.6.4LCD中文驱动程序

12.7基于SPI闪存的中文显示

12.8开发经验小结——条件编译

12.8.1命令形式

12.8.2应用示例

本章小结

思考拓展

第13章I2C接口与EEPROM

13.1I2C通信原理

13.1.1I2C串行总线概述

13.1.2I2C总线的数据传送

13.2STM32F407的I2C接口

13.2.1STM32F407的I2C主要特性

13.2.2STM32F407的I2C内部结构

13.2.3STM32F407的I2C工作模式

13.3I2C接口的HAL库驱动

13.3.1I2C接口的初始化

13.3.2阻塞式数据传输

13.3.3中断方式数据传输

13.3.4DMA方式数据传输

13.4EEPROM存储芯片24C02

13.4.1芯片概述与硬件连接

13.4.2接口与通信协议

13.5EEPROM存储开机密码项目

13.5.1项目分析

13.5.2项目实施

本章小结

思考拓展

第14章模/数转换与光照传感器

14.1ADC概述

14.1.1ADC基本原理

14.1.2ADC性能参数

14.1.3ADC主要类型

14.2STM32F407的ADC工作原理

14.2.1主要特征

14.2.2内部结构

14.2.3通道及分组

14.2.4时序图

14.2.5数据对齐

14.2.6校准

14.2.7转换时间

14.2.8转换模式

14.2.9外部触发转换和触发极性

14.2.10中断和DMA请求

14.2.11多重ADC模式

14.3ADC的HAL库驱动

14.3.1规则通道驱动

14.3.2注入通道驱动

14.3.3多重ADC驱动

14.4项目实例

14.4.1多通道轮询方式模拟信号采集

14.4.2光照传感器模拟与数字同步控制

本章小结

思考拓展

第15章直接存储器访问

15.1DMA的基本概念

15.1.1DMA的由来

15.1.2DMA的定义

15.1.3DMA的优点

15.2STM32F407的DMA工作原理

15.2.1DMA简介

15.2.2DMA通道选择

15.2.3DMA主要特性

15.2.4DMA传输属性

15.3DMA的HAL库驱动

15.3.1DMA的HAL函数概述

15.3.2DMA传输初始化配置

15.3.3启动DMA数据传输

15.3.4DMA中断

15.4项目实例

15.4.1USART接口DMA传输

15.4.2定时器触发DMA传输多通道模拟量采集

15.4.3三重ADC同步转换DMA传输

15.5开发经验小结——轮询、中断、DMA

15.5.1轮询

15.5.2中断

15.5.3DMA

本章小结

思考拓展

第16章数/模转换器

16.1DAC概述

16.1.1DAC基本原理

16.1.2DAC性能参数

16.2STM32F407的DAC工作原理

16.2.1DAC结构与特性

16.2.2DAC功能说明

16.3DAC的HAL库驱动

16.3.1DAC驱动宏函数

16.3.2DAC驱动功能函数

16.4项目实例

16.4.1软件触发D/A转换

16.4.2三角波输出

16.4.3使用DMA输出正弦波信号

本章小结

思考拓展

第17章位带操作与温湿度传感器

17.1STM32位带操作

17.1.1位带介绍

17.1.2位带区与位带别名区地址转换

17.1.3位带操作宏定义

17.2温湿度传感器DHT11

17.2.1DHT11功能说明

17.2.2DHT11单总线通信协议

17.3温湿度实时监测

17.3.1项目分析

17.3.2项目实施

本章小结

思考拓展

第18章RTC与蓝牙通信

18.1RTC概述

18.1.1RTC功能

18.1.2RTC工作原理

18.1.3RTC的中断和复用引脚

18.2RTC的HAL库驱动

18.2.1RTC的HAL基础驱动程序

18.2.2周期唤醒相关HAL函数

18.2.3闹钟相关HAL函数

18.3备份寄存器

18.4RTC日历和闹钟项目

18.4.1项目分析

18.4.2项目实施

18.5蓝牙模块通信

18.5.1蓝牙通信概述

18.5.2蓝牙透明传输原理

18.6无线时间同步电子万年历

18.6.1项目分析

18.6.2项目实施

本章小结

思考拓展

附录AASCII码表

附录B运算符和结合性关系表

附录CSTM32F407微控制器引脚定义表

参考文献

展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

温馨提示:请使用泸西县图书馆的读者帐号和密码进行登录

点击获取验证码
登录