注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络硬件、外部设备与维护STM32Cube高效开发教程:基础+高级篇(套装2册)

STM32Cube高效开发教程:基础+高级篇(套装2册)

STM32Cube高效开发教程:基础+高级篇(套装2册)

定 价:¥249.70

作 者: 王维波,鄢志丹,王钊 著
出版社: 人民邮电出版社
丛编项:
标 签: 暂缺

购买这本书可以去


ISBN: 9787115006769 出版时间: 2022-05-01 包装: 平装
开本: 16开 页数: 989 字数:  

内容简介

  《STM32Cube高效开发教程(基础篇)》 STM32CubeMX和STM32CubeIDE是ST公司提供的用于STM32开发的免费工具软件,是STM32Cube生态系统的核心工具软件。本书详细介绍这两个软件的用法,然后以STM32F407为研究对象,采用STM32Cube开发方式介绍STM32F407各种系统功能和常用外设的编程开发,包括外设基本工作原理和接口电路、HAL驱动程序功能和使用方法,以及针对一个STM32F407开发板的完整编程示例。通过阅读本书,读者可以掌握STM32Cube开发方式和工具软件的使用,掌握基于HAL库的STM32F407系统功能和常用外设的编程开发方法。本书适合具有C语言、微机原理或单片机基础,想要学习STM32开发技术的读者阅读,可以作为高等院校电子、自动化、计算机、测控等专业的教材,也可作为STM32应用开发的参考书。 《STM32Cube高效开发教程(高级篇)》 本书介绍 STM32 开发的一些内容。第一部分详细介绍嵌入式操作系统 FreeRTOS 的使用;第二部分介绍使用 FatFS 管理 SPI-Flash 芯片、SD 卡和 U 盘上的文件系统;第三部分介绍 BMP 和 JPG 图片的获取与显示,触摸屏的使用,DCMI 接口和数字摄像头等。全书使用 STM32CubeMX 和 STM32CubeIDE软件开发例程,讲解 FreeRTOS、FatFS、LibJPEG、USB_Host、USB_Device 等中间件以及 SDIO、USB-OTG、DCMI 等外设的原理和使用方法,并针对一个 STM32F407 开发板编写了完整示例项目。通过阅读本书,读者可以掌握 STM32 开发中的嵌入式操作系统、文件系统、触摸屏等高级软硬件的开发方法。本书适合已经掌握 STM32CubeMX 和 STM32CubeIDE 软件的使用以及 STM32 常用外设的 STM32Cube开发等相关基础内容的读者阅读,可以作为高等院校电子、自动化、计算机类专业的教学用书,也可作为STM32 嵌入式系统开发的参考书。

作者简介

  王维波,博士、中国石油大学(华东)控制科学与工程学院教师。从事测控与仪器开发领域的教学和研究工作,主要研究方向是地球物理探测仪器开发、数据处理方法和软件开发。参与完成国家自然科学基金、山东省重点研发计划等多个科研项目,发表论文 20 余篇。著有《Qt 5.9 C++ 开发指南》和《Python Qt GUI 与数据可视化编程》。鄢志丹,博士、中国石油大学(华东)控制科学与工程学院教师。从事随钻测控技术、自抗扰控制方法、井下仪器开发、微弱信号处理等方面的研究工作。主持国家自然科学基金、中国博士后科学基金、山东省自然科学基金等 10 余个科研项目,获授权发明专利 10 余项,发表论文 30 余篇。王钊,博士、中国石油大学(华东)控制科学与工程学院教师。从事自动化相关的教学和研究工作,主要研究方向是非线性系统的非光滑控制研究、故障诊断、工业过程控制等。主持山东省中青年科学家科研奖励基金项目 1 项,发表论文 20 余篇,作为副主编编写教材1 部。

图书目录

《STM32Cube高效开发教程(基础篇)》
第一部分 软硬件基础

第1章 概述 2

1.1 STM32系列单片机 2

1.2 STM32的器件驱动库 3

1.3 STM32Cube生态系统 4

1.4 STM32Cube开发方式 8

第2章 STM32F407和开发板 10

2.1 STM32F407简介 10

2.2 STM32F407开发板 17

2.3 仿真器 23

第3章 STM32CubeMX的使用 24

3.1 安装STM32CubeMX 24

3.2 安装MCU固件包 25

3.3 软件功能和基本使用 29

3.4 项目示例:LED初始输出 49

第4章 STM32CubeIDE的使用 51

4.1 安装STM32CubeIDE 51

4.2 基本概念和MCU固件库设置 52

4.3 C/C++场景的界面功能和操作 58

4.4 CubeMX生成项目的文件组成 63

4.5 项目管理、构建和下载调试 72

4.6 使用内置的CubeMX 79

4.7 CubeIDE使用偏好设置 81

4.8 HAL库的一些基本问题 83

第5章 STM32CubeMonitor的使用 85

5.1 STM32CubeMonitor功能简介 85

5.2 CubeMonitor基本操作 87

5.3 CubeMonitor基本功能使用示例 92

5.4 CubeMonitor的使用小结 113

第二部分 系统功能和常用外设的使用

第6章 GPIO输入/输出 116

6.1 GPIO功能概述 116

6.2 GPIO的HAL驱动程序 117

6.3 GPIO使用示例 120

6.4 作为公共驱动程序 130

第7章 中断系统和外部中断 131

7.1 STM32F407的中断 131

7.1.1 中断向量表 131

7.1.2 中断优先级 134

7.1.3 中断设置相关HAL驱动程序 135

7.2 外部中断EXTI 136

7.2.1 外部中断功能和外部中断线 136

7.2.2 外部中断相关HAL函数 138

7.3 外部中断使用示例 141

7.3.1 示例功能和CubeMX项目设置 141

7.3.2 项目初始代码分析 142

7.3.3 编写用户功能代码 145

7.3.4 中断优先级的测试 146

第8章 FSMC连接TFT LCD 148

8.1 FSMC连接TFT LCD的原理 148

8.2 FSMC连接LCD的电路和接口初始化 151

8.3 使用LCD驱动程序 159

8.4 作为公共驱动程序 172

第9章 基础定时器 174

9.1 定时器概述 174

9.2 基础定时器内部结构和功能 175

9.3 基础定时器HAL驱动程序 177

9.4 外设的中断处理概念小结 182

9.5 基础定时器使用示例 185

第10章 通用定时器 192

10.1 通用定时器功能概述 192

10.2 典型功能原理和HAL驱动 196

10.3 示例1:生成PWM波 204

10.4 示例2:输出比较 210

10.5 示例3:输入PWM 213

第11章 实时时钟 220

11.1 RTC功能概述 220

11.2 周期唤醒和闹钟 227

11.3 备份寄存器 239

11.4 入侵检测和时间戳 246

第12章 USART/UART通信 255

12.1 USART/UART接口概述 255

12.2 串口的HAL驱动程序 259

12.3 串口通信示例 264

第13章 DMA 276

13.1 DMA功能概述 276

13.2 DMA的HAL驱动程序 280

13.3 串口的DMA传输示例 284

第14章 ADC 295

14.1 ADC功能概述 295

14.2 ADC的HAL驱动程序 299

14.3 示例1:软件启动ADC转换 303

14.4 示例2:定时器触发ADC转换 308

14.5 示例3:多通道和DMA传输 313

14.6 示例4:双ADC同步转换 319

第15章 DAC 325

15.1 DAC功能概述 325

15.2 DAC的HAL驱动程序 328

15.3 示例1:软件触发DAC转换 332

15.4 示例2:输出三角波 335

15.5 示例3:使用DMA输出自定义波形 339

第16章 SPI通信 343

第17章 I2C通信 377

第18章 CAN总线通信 392

第19章 FSMC连接外部SRAM 422

第20章 独立看门狗 442

第21章 窗口看门狗 448

第22章 电源管理和低功耗模式 456


附录A CubeMX模板项目和公共驱动程序的使用 477
附录B 复制一个项目 482
附录C 本书示例项目列表 483
附录D 缩略词 485

附参考文献 488


《STM32Cube高效开发教程(高级篇)》
第 一部分 嵌入式操作系统FreeRTOS

第 1章 FreeRTOS基础 2

1.1 FreeRTOS概述 2

1.2 FreeRTOS入门示例 4

1.3 FreeRTOS的文件组成和基本原理 15

第 2章 FreeRTOS的任务管理 29

2.1 任务相关的一些概念 29

2.2 FreeRTOS的任务调度 32

2.3 任务管理相关函数 36

2.4 多任务编程示例一 40

2.5 任务管理工具函数 49

2.6 多任务编程示例二 55

第3章 FreeRTOS的中断管理 62

3.1 FreeRTOS与中断 62

3.2 任务与中断服务例程 64

3.3 任务和中断程序设计示例 67

第4章 进程间通信与消息队列 74

4.1 进程间通信 74

4.2 队列的特点和基本操作 75

4.3 队列使用示例 79

第5章 信号量 86

5.1 信号量和互斥量概述 86

5.2 二值信号量使用示例 90

5.3 计数信号量使用示例 98

第6章 互斥量 104

6.1 优先级翻转问题 104

6.2 互斥量的工作原理 105

6.3 优先级翻转示例 106

6.4 互斥量使用示例 111

第7章 事件组 115

7.1 事件组的原理和功能 115

7.2 事件组相关函数 116

7.3 事件组使用示例 120

7.4 通过事件组进行多任务同步 125

第8章 任务通知 132

8.1 任务通知的原理和功能 132

8.2 任务通知的相关函数 133

8.3 示例一:使用任务通知传递数据 137

8.4 示例二:将任务通知用作计数信号量 141

第9章 流缓冲区和消息缓冲区 145

9.1 流缓冲区功能概述 145

9.2 流缓冲区操作的相关函数 146

9.3 流缓冲区使用示例 149

9.4 消息缓冲区功能概述 154

9.5 消息缓冲区操作相关函数 154

9.6 消息缓冲区使用示例 157

第 10章 软件定时器 162

10.1 软件定时器概述 162

10.2 软件定时器的相关函数 164

10.3 软件定时器使用示例 169

第 11章 空闲任务与低功耗 174

11.1 HAL和FreeRTOS的基础时钟 174

11.2 空闲任务与低功耗处理 182

11.3 Tickless低功耗模式 186

第二部分 FatFS管理文件系统

第 12章 FatFS和文件系统 192

12.1 FatFS概述 192

12.2 FatFS的应用程序接口函数 197

12.3 FatFS的存储介质访问函数 208

12.4 针对SPI-Flash芯片移植FatFS 209

12.5 在SPI-Flash芯片上使用文件系统 231

第 13章 直接访问SD卡 245

13.1 SD卡简介 245

13.2 SDIO接口硬件电路 247

13.3 SDIO接口和SD卡的HAL驱动程序 249

13.4 示例一:以轮询方式读写SD卡 257

13.5 示例二:以DMA方式读写SD卡 264

第 14章 用FatFS管理SD卡文件系统 272

第 15章 用FatFS管理U盘文件系统 295

第 16章 USB-OTG用作USB MSC外设 324

第 17章 在FreeRTOS中使用FatFS 341

第三部分 图片的获取与显示

第 18章 BMP图片 360

第 19章 JPG图片 387

第 20章 电阻式触摸屏 405

第 21章 电容式触摸屏 431

第 22章 DCMI接口和数字摄像头 455


附录A CubeMX模板项目和公共驱动程序的使用 487
附录B 复制一个项目 493
附录C 开发板功能模块 494
附录D 本书示例列表 498
附录E 缩略词 501

参考文献 503

本目录推荐