该书特点:
该书以按照“沿着时钟树,结合固件库”的写作思路,使读者快速入门;模块化设计与系统设计相结合。秉承了STM32处理器固件库的模块化设计风格,力图使程序模块化
尽最大限度实现代码的复用。
注:文件有点大分了4部分,要全部下载才可以解压。下面是本书的目录:
第1章 开场白 1
1.1 STM32处理器是什么
1.2 数据长度
1.3 地址空间
1.3.1 大端和小端的故事
1.3.2 STM32Fxx系列处理器存储空间布局
1.4 STM32F103VET6处理器开发平台
1.5 本章小结
1.6 扩展阅读之CISC处理器和RISC处理器的关系
1.7 扩展阅读之ARM指令集架构及ARM处理器的因缘
第2章 神奇的流水灯
2.1 开发环境简介
2.2 流水灯
2.2.1 认识固件库
2.2.2 流水灯程序分析
2.2.3 流水灯测试
2.2.4 流水灯引发的思考
2.3 本章小结
2.4 附录1—流水灯源程序
2.5 附录2—开发环境搭建
第3章 传递C语言正能量
3.1 数据类型基础
3.1.1 用typedef和#define定义类型
3.1.2 用signed和unsigned修饰数据类型
3.1.3 volatile和强制类型转换
3.2 位运算符和位运算
3.2.1 按位与运算符(&)
3.2.2 按位或运算符(|)
3.2.3 按位取反运算符(~)
3.2.4 左移和右移运算符(<<)、(>>)
3.3 控制结构
3.3.1 选择结构
3.3.2 循环结构
3.4 防止文件重复包含技巧
3.5 本章小结
3.6 扩展阅读之高速缓存基础知识
3.7 附录—流水灯实验完整源代码
第4章 GPIO入门之道
4.1 GPIO概述
4.1.1 GPIO引脚介绍
4.1.2 GPIO相关寄存器
4.1.3 旧事重提——再议固件库
4.1.4 IO端口复用
4.2 LED实验
4.2.1 硬件电路分析
4.2.2 程序分析
4.2.3 程序测试
4.3 本章小结
4.4 扩展阅读之APCS调用规则简述
4.5 扩展阅读之STM32系列处理器固件库命名规则
第5章 中断和异常的故事
5.1 STM32F103VET6中断系统概述
5.1.1 中断和异常的类型
5.1.2 嵌套中断向量控制器
5.1.3 中断响应函数
5.1.4 中断向量表
5.2 外部中断初探
5.2.1 硬件电路分析
5.2.2 程序分析
5.2.3 程序测试
5.3 SysTick心跳实验
5.3.1 程序设计及代码详解
5.3.2 实例测试
5.4 本章小结
5.5 扩展阅读之中断和事件
第6章 探究时钟滴答的奥妙
6.1 STM32F103VET6时钟系统概述
6.1.1 系统时钟树
6.1.2 SystemInit()库函数解析
6.2 基本定时器的来龙去脉
6.2.1 基本定时器基础实验
6.2.2 基本定时器实验源程序
6.2.3 基本定时器基础实验测试
6.3 通用定时器原理与应用
6.3.1 比较输出模式实验
6.3.2 比较输出模式源程序
6.3.3 比较输出模式实验测试
6.3.4 PWM输出模式实验
6.3.5 PWM输出模式源程序
6.3.6 PWM输出模式实验测试
6.4 本章小结
第7章 体验UART
7.1 UART概述
7.2 UART基本特性
7.3 UART固件库
7.4 UART基础实验
7.4.1 硬件电路分析
7.4.2 程序设计及代码详解
7.4.3 实例测试
7.4.4 UART基础实验分析
7.5 UART高级实验——可变参数函数在UART中的应用
7.5.1 程序设计及代码详解
7.5.2 实例测试
7.6 UART高级实验——UART重定向的应用
7.6.1 程序设计及代码详解
7.6.2 实例测试
7.7 UART扩展实验——UART控制LED
7.7.1 程序设计及代码详解
7.7.2 实例测试
7.8 UART扩展实验——获取系统时钟频率
7.9 本章小结
7.10 附录—UART扩展实验——获取系统时钟频率源代码
第8章 DMA数据大挪移
8.1 DMA基本特性
8.2 DMA固件库
8.3 DMA存储器到存储器传输实验
8.3.1 程序设计及代码详解
8.3.2 实例测试
8.3.3 存储器到存储器实验改进——DMA反向数据传输
8.3.4 关于DMA传输通道的讨论
8.4 DMA存储器到外设传输实验
8.4.1 程序设计及代码详解
8.4.2 实例测试
8.5 DMA外设到存储器传输实验
8.5.1 程序设计及代码详解
8.5.2 实例测试
8.6 本章小结
第9章 挑战启动代码
9.1 汇编语言那些事儿
9.1.1 ARM指令介绍
9.1.2 伪操作和伪指令介绍
9.2 汇编语言程序的基本结构
9.3 启动代码分析
9.4 main()函数的前生今世
9.5 神奇的SystemInit()函数
9.6 麻雀虽小五脏俱全的启动代码
9.7 本章小结
第10章 对话ADC
10.1 ADC原理
10.2 ADC基本特性
10.3 ADC固件库
10.4 ADC基础实验
10.4.1 程序设计及代码详解
10.4.2 实例测试
10.5 ADC扩展实验——获取ADC时钟频率
10.6 ADC扩展实验——获取温度
10.7 本章小结
第11章 串行Flash存储器大串烧
11.1 Flash是什么
11.2 使用固件库和存储器“对话”
11.3 存储器的“身份证”
11.3.1 读取存储器“身份证”代码详解
11.3.2 读取存储器“身份证”测试
11.3.3 要致富先修路
11.3.4 条条大道通罗马
11.3.5 SPI修炼秘籍
11.4 向Flash存储器驱动致敬
11.4.1 驱动程序的境界
11.4.2 驱动前传
11.4.3 驱动大课堂
11.5 Flash存储器亲密接触
11.5.1 扇区擦除
11.5.2 体验读写的快乐
11.6 本章小结
11.7 附录—嵌入式文件系统移植简介
11.8 附录—SST25VF016B驱动程序汇总
第12章 问道DAC
12.1 DAC基本特性
12.2 DAC固件库
12.3 DAC基础实验
12.3.1 程序设计及代码详解
12.3.2 实例测试
12.4 本章小结
第13章 论剑内部Flash
13.1 存储器容量知多少
13.2 获取存储器容量实验
13.3 奇妙的电子签名 2
13.4 论剑内部Flash存储器
13.5 本章小结
第14章 玩转TFT LCD
14.1 LCD显示器和LCD控制器工作原理
14.1.1 LCD显示器概述
14.1.2 LCD接口信号
14.1.3 LCD显示原理
14.1.4 静态存储器控制器(FSMC)
14.1.5 FSMC初始化
14.2 LCD基础实验
14.2.1 程序设计及代码详解
14.2.2 实例测试
14.3 LCD基础实验之图片显示
14.3.1 如何将图片转换为C语言数组
14.3.2 程序设计及代码详解
14.3.3 实例测试
14.4 LCD高级实验之汉字显示
14.4.1 两种常见的汉字编码
14.4.2 LCD汉字显示原理
14.4.3 程序设计及代码详解
14.4.4 实例测试
14.4.5 LCD显示高级技巧——可变参函数Lcd_Printf的实现
14.4.6 可变参函数Lcd_Printf测试
14.4.7 汉字区位码的思考
14.4.8 实例测试
14.5 本章小结
参考文献
|