STM32库开发实战指南
STM32库开发实战指南封面图

STM32库开发实战指南

刘火良, 杨森, 编著

出版社:机械工业出版社

年代:2013

定价:59.0

书籍简介:

本书的主要内容将着重介绍STM32的库函数,以及如何使用库的方式进行开发。使初学者能够在此基础上迅速入门,掌握STM32的开发方法。本书内容基于ARM-Cortex M3内核的STM32F103芯片,紧紧围绕“库”展开,系统地讲述了STM32固件库的原理、使用方法。

书籍目录:

前言

第一部分 库开发初级篇

第1章 为什么学习STM32

1.1 嵌入式技术知识结构

1.2 嵌入式工程师成长之路

1.3 为什么学习STM32

1.4 如何学习STM32

第2章 初识STM32固件库

2.1 STM32神器之库开发

2.1.1 什么是STM32库

2.1.2 为什么采用库开发

2.2 STM32结构及库层次关系

2.2.1 CMSIS标准

2.2.2 库目录、文件简介

2.2.3 STM32固件库文件间的关系

2.2.4 使用库帮助文档

第3章 GPIO入门之流水灯

3.1 安装MDK

3.2 建立工程模板

3.2.1 新建工程

3.2.2 配置J-LINK硬件调试

3.3 如何编译和下载程序

3.3.1 如何编译程序

3.3.2 如何下载程序

第4章 深入分析流水灯例程

4.1 STM32的GPIO

4.2 STM32的地址映射

4.2.1 温故而知新——stm32f10x.h文件

4.2.2 外设基地址

4.2.3 总线外设基地址

4.2.4 寄存器组基地址

4.3 STM32固件库对寄存器的封装

4.4 STM32的时钟系统

4.4.1 时钟树&时钟源

4.4.2 高速外部时钟

4.4.3 HCLK、FCLK、PCLK1、PCLK2

4.5 LED具体代码分析

4.5.1 实验描述及工程文件清单

4.5.2 配置工程环境

4.5.3 编写用户文件

4.5.4 初始化结构体——GPIO_InitTypeDef类型

4.5.5 初始化库函数——GPIO_Init()

4.5.6 开启外设时钟

4.5.7 控制I/O输出高、低电平

4.5.8 led.h文件

4.5.9 main文件

4.6 GPIO_Init()函数的实现

4.6.1 规范的位操作方法

4.6.2 GPIO_Init()实现代码分析

4.6.3 再论开发方式

4.7 开发步骤总结

第5章 调试程序

5.1 MDK软件仿真调试

5.2 使用J-LINK进行硬件调试

5.2.1 硬件调试

5.2.2 软件编译过程

5.3 MDK使用小技巧

第二部分 库开发中级篇

第6章 GPIO再举例之按键实验

6.1 GPIO的8种工作模式

6.1.1 4种输入模式

6.1.2 4种输出模式

6.2 按键实验分析

6.3 按键代码分析

6.3.1 实验描述及工程文件清单

6.3.2 配置工程环境

6.3.3 main文件

6.3.4 GPIO初始化配置

6.3.5 利用固件库的数据类型

6.3.6 实现LED反转

6.3.7 实验现象

第7章 EXTI之按键中断实验

7.1 STM32的中断和异常

7.2 NVIC中断控制器

7.2.1 NVIC结构体成员

7.2.2 抢占优先级和响应优先级

7.2.3 NVIC的优先级组

7.3 EXTI外部中断

7.4 中断检测按键实验分析

7.4.1 实验描述及工程文件清单

7.4.2 配置工程环境

7.4.3 main文件

7.4.4 配置外部中断

7.4.5 AFIO时钟

7.4.6 NVIC初始化配置

7.4.7 EXTI初始化配置

7.4.8 编写中断服务函数

7.4.9 实验现象

第8章 串口通信(USART)

8.1 异步串口通信协议

8.2 直通线和交叉线

8.3 串口工作过程分析

8.3.1 波特率控制

8.3.2 收发控制

8.3.3 数据存储转移

8.4 串口通信实验分析

8.4.1 实验描述及工程文件清单

8.4.2 配置工程环境

8.4.3 main文件

8.4.4 USART初始化配置

8.4.5 printf()函数重定向

8.4.6 USART1_printf()函数

8.4.7 实验现象

第9章 库函数开发小结

9.1 初始化

9.2 数据输入输出

9.3 状态位、标志位

9.3.1 事件

9.3.2 标志位的检查与清除

9.4 外设函数分类

第10章 DMA——为CPU减负

10.1 DMA功能简介

10.2 DMA工作分析

10.3 DMA实例之串口通信

10.3.1 实验描述及工程文件清单

10.3.2 配置工程环境

10.3.3 main文件

10.3.4 DMA初始化

10.3.5 使用DMA中断

10.3.6 实验现象

第11章 ADC实验(DMA方式)

11.1 ADC简介

11.2 STM32的ADC主要技术指标

11.3 ADC工作过程分析

11.4 ADC采集数据实例(采用DMA模式)

11.4.1 实验描述及工程文件清单

11.4.2 配置工程环境

11.4.3 main文件

11.4.4 ADC初始化

11.4.5 计算电压值

11.4.6 实验现象

第12章 SysTick(系统滴答定时器)

12.1 SysTick——操作系统的心跳

12.2 SysTick工作分析

12.3 使用SysTick精确延时实验分析

12.3.1 实验描述及工程文件清单

12.3.2 配置工程环境

12.3.3 main文件

12.3.4 配置并启动SysTick

12.3.5 定时时间的计算

12.3.6 编写中断服务函数

12.3.7 使用SysTick测量时间的功能

12.3.8 实验现象

第13章 STM32定时器

13.1 定时器功能简介

13.2 定时器工作分析

13.2.1 基本定时器

13.2.2 通用定时器

13.2.3 高级定时器

13.3 PWM输出实例分析

13.3.1 实验描述及工程文件清单

13.3.2 配置工程环境

13.3.3 main文件

13.3.4 定时器初始化

13.3.5 实验现象

第14章 I2C接口

14.1 I2C协议简介

14.1.1 物理层

14.1.2 协议层

14.2 STM32的I2C特性及架构

14.2.1 I2C接口特性

14.2.2 I2C架构

14.3 I2C接口读写EEPROM实验

14.3.1 实验描述及工程文件清单

14.3.2 配置工程环境

14.3.3 main文件

14.3.4 I2C接口初始化

14.3.5 对EEPROM的读写操作

14.3.6 使用I2C读写EEPROM流程总结

14.3.7 实验现象

第15章 SPI模块

15.1 SPI协议简介

15.1.1 SPI信号线

15.1.2 SPI模式

15.2 STM32的SPI特性及架构

15.2.1 STM32的SPI特性

15.2.2 STM32的SPI架构分析

15.3 SPI接口读取Flash实例分析

15.3.1 实验描述及工程文件清单

15.3.2 配置工程环境

15.3.3 main文件

15.3.4 SPI初始化

15.3.5 控制Flash的命令

15.3.6 读取厂商ID

15.3.7 擦除Flash内容

15.3.8 向Flash写入数据

15.3.9 从Flash读取数据

15.3.10 小结

15.3.11 实验现象

第16章 CAN控制器

16.1 CAN协议简介

16.1.1 物理层

16.1.2 CAN的报文种类及结构

16.1.3 同步

16.2 STM32的CAN特性及架构

16.2.1 CAN特性

16.2.2 CAN架构

16.3 双CAN通信实验分析

16.3.1 实验描述及工程文件清单

16.3.2 配置工程环境

16.3.3 main文件

16.3.4 配置CAN接口

16.3.5 打包报文

16.3.6 发送报文

16.3.7 接收报文、编写中断服务函数

16.3.8 实验小结

16.3.9 实验现象

第三部分 库开发高级篇

第17章 SDIO之SD卡驱动

17.1 SD协议简介

17.1.1 卡的种类

17.1.2 SDIO基本架构

17.2 STM32的SDIO接口

17.2.1 从SDIO的时钟说起

17.2.2 SDIO的命令格式

17.2.3 数据传输格式

17.3 SD卡读写实验分析

17.3.1 实验描述及工程文件清单

17.3.2 配置工程环境

17.3.3 main文件

17.3.4 SDIO初始化

17.3.5 卡的上电识别流程

17.3.6 卡的初始化流程

17.3.7 对SD卡进行读写

17.3.8 原版官方驱动例程的bug

17.3.9 实验现象

第18章 文件系统之

FATFS_R0.09

18.1 什么是文件系统

18.2 FATFS文件系统简介

18.2.1 FATFS的目录结构

18.2.2 FATFS帮助文档

18.2.3 FATFS源码

18.3 移植FATFS文件系统实验

18.3.1 实验描述及工程文件清单

18.3.2 配置工程环境

18.3.3 为文件系统添加底层驱动

18.3.4 添加简体中文和

长文件名支持

18.3.5 main文件

18.3.6 实验现象

第19章 MP3播放器

19.1 MP3文件探秘

19.1.1 文件格式

19.1.2 MP3文件的原始数据

19.1.3 MP3文件格式

19.2 VS1003硬件解码芯片

19.2.1 VS1003芯片简介

19.2.2 TDA1308芯片

19.3 MP3播放器实验

19.3.1 实验描述及工程文件清单

19.3.2 配置工程环境

19.3.3 main文件

19.3.4 控制VS1003进入准备状态

19.3.5 播放MP3文件

19.3.6 STM32的堆栈

19.3.7 实验现象

第20章 USB大容量存储器实例

20.1 USB协议分析

20.1.1 协议版本

20.1.2 USB电气特性

20.1.3 USB通信模型

20.1.4 USB枚举

20.2 STM32的USB控制器

20.3 USB读取SD卡——模拟U盘实验

20.3.1 实验描述及工程文件清单

20.3.2 配置工程环境

20.3.3 USB固件库说明

20.3.4 main文件

20.3.5 基本配置

20.3.6 USB初始化

20.3.7 中断服务函数

20.3.8 BOT和SCSI协议

20.3.9 实验现象

第21章 LCD触摸屏画板

21.1 LCD控制器简介

21.1.1 ILI9341控制器结构

21.1.2 像素点的数据格式

21.1.3 ILI9341的通信时序

21.2 用STM32驱动LCD

21.2.1 FSMC简介

21.2.2 用FSMC模拟8080时序

21.3 触摸屏感应原理

21.4 TSC2046触摸屏控制器

21.5 LCD触摸屏画板实验

21.5.1 实验描述及工程文件清单

21.5.2 配置工程环境

21.5.3 main文件

21.5.4 初始化FSMC模式

21.5.5 FSMC模拟8080读写参数、命令

21.5.6 液晶屏画点函数

21.5.7 触摸屏校正

21.5.8 检测触点、画点

21.5.9 实验现象

第22章 字库及BMP图片显示

22.1 什么是字模

22.2 制作字模

22.3 BMP图片格式

22.4 显示中英文及BMP图片实验

22.4.1 实验描述及工程文件清单

22.4.2 配置工程环境

22.4.3 main文件

22.4.4 显示汉字

22.4.5 在SD卡上读取与保存BMP图像

22.4.6 实验现象

第23章 OV7670摄像头驱动

23.1 摄像头的分类

23.1.1 数字摄像头与模拟摄像头的区别

23.1.2 CCD与CMOS的区别

23.2 OV7670介绍

23.2.1 OV7670功能框架

23.2.2 OV7670管脚封装

23.3 SCCB总线

23.3.1 SCCB接口定义

23.3.2 SCCB时序描述

23.4 摄像头模块

23.4.1 摄像头模块硬件介绍

23.4.2 OV7670输出时序

23.4.3 FIF时序

23.4.4 摄像头的驱动原理

23.5 摄像头驱动实验

23.5.1 实验描述及工程文件清单

23.5.2 配置工程环境

23.5.3 main文件

23.5.4 SCCB总线的软件实现

23.5.5 初始化OV7670

23.5.6 采集并显示图像

23.5.7 实验现象

第24章 以太网及LwIP协议栈移植

24.1 互联网模型

24.2 以太网

24.2.1 PHY层

24.2.2 MAC子层

24.2.3 以太网控制器

24.3 MAC之上的网络层

24.3.1 为什么在MAC之上还有分层

24.3.2 TCP/IP协议中各层次的功能

24.3.3 LwIP协议栈

24.4 ENC28J60+LwIP 以太网实验

24.4.1 实验描述及工程文件清单

24.4.2 配置工程环境

24.4.3 main文件

24.4.4 LwIP对底层数据结构的封装

24.4.5 初始化协议栈

24.4.6 LwIP对底层操作的封装

24.4.7 轮询和计时

24.4.8 opt.h文件和debug

24.4.9 LwIP应用

24.4.10 网页服务器

24.4.11 实验现象

第25章 Wi-Fi模块EMW3180驱动

25.1 资料与工具下载

25.2 EMW3180简介

25.3 EMW3180驱动实验

25.3.1 实验描述及工程文件清单

25.3.2 配置工程环境

25.3.3 EMSP_API函数

25.3.4 API函数一览

25.3.5 main文件

25.3.6 em380c_hal.c文件

25.3.7 实验现象

第四部分 库开发系统篇

第26章 μC/OS-Ⅲ及其源代码介绍

26.1 μC/OS简介

26.1.1 操作系统与裸机的区别

26.1.2 μC/OS实时操作系统

26.2 μC/OS-Ⅲ与μC/OS-Ⅱ的主要区别

26.3 μC/OS-Ⅲ源码

26.4 μC/OS-Ⅲ工程架构

第27章 移植μC/OS-Ⅲ到STM32

27.1 搭建μC/OS工程文件结构

27.2 修改μC/OS代码

27.2.1 修改os_cpu.h文件

27.2.2 修改os_cpu_c.c

27.2.3 修改 os_cpu_a.asm文件

27.2.4 修改cpu_a.asm文件

27.2.5 修改startup_stm32f10x_hd.s文件

27.2.6 修改stm32f10x_it.c文件

27.3 编写用户文件

27.3.1 编写includes.h文件

27.3.2 编写BSP相关文件

27.3.3 创建任务

27.4 配置μC/OS-Ⅲ

第28章 运行多任务

28.1 创建用户任务

28.2 编写用户代码

28.3 任务执行流程

参考文献

内容摘要:

《STM32库开发实战指南》基于STM32F103芯片,紧紧围绕“库”的分析和使用展开。在大量实例的基础上,《STM32库开发实战指南》对于如何综合运用固件库开发项目给出了具体的范例;在固件库的使用和学习的基础上,又进一步讲解了结合嵌入式实时操作系统、TCP/IP协议栈进行嵌入式系统开发的方法,让读者循序渐进、系统地掌握基于STM32官方库进行开发的方法。
  《STM32库开发实战指南》内容翔实,案例丰富,操作性极强,可作为高校电子信息、通信工程、信息工程等相关专业的教材,也适合作为从事嵌入式领域科技工作者的参考书。

书籍规格:

书籍详细信息
书名STM32库开发实战指南站内查询相似图书
9787111426370
如需购买下载《STM32库开发实战指南》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN
出版地北京出版单位机械工业出版社
版次1版印次1
定价(元)59.0语种简体中文
尺寸19 × 24装帧平装
页数 368 印数 4000

书籍信息归属:

STM32库开发实战指南是机械工业出版社于2013.5出版的中图分类号为 TP332.3-62 的主题关于 微控制器-系统开发-指南 的书籍。