STM32F0实战(基于HAL库开发)
作者:高显生
出版社:机械工业出版社
出版时间:2018-12-01
ISBN:9787111612964
定价:¥129.00
前言
第一篇 系统架构
第1章 “芯”系ARM 2
1.1 强劲的ARM芯 2
1.1.1 最成功的科技公司 2
1.1.2 ARMv6M架构 3
1.1.3 CortexM0处理器简介 3
1.1.4 CortexM0处理器的特点 5
1.1.5 RISC架构 6
1.1.6AMBA总线 6
1.1.7微控制器软件接口标准(CMSIS) 7
1.2 STM32系列微控制器 9
1.2.1 STM32微控制器家族 9
1.2.2 STM32的命名规则 9
1.2.3STM32F0系列微控制器功能概述 13
第2章 开发环境 17
2.1 软件开发工具 17
2.1.1MDKARM集成开发环境 18
2.1.2 安装MDKARM软件 21
2.1.3 STM32CubeMX软件 27
2.1.4安装STM32CubeMX软件 34
2.2 硬件开发工具 46
2.2.1 仿真/编程器 47
2.2.2 STM32系统板 51
2.3 项目建立 52
2.3.1 新建开发项目 52
2.3.2 查看项目文件 62
2.3.3 打开项目 64
2.3.4 查看项目属性 69
2.3.5 编译项目 73
第3章 GPIO 76
3.1 GPIO概述 76
3.1.1 GPIO的功能 76
3.1.2 GPIO的位结构 78
3.1.3 GPIO的特殊功能 80
3.1.4 GPIO的寄存器分类 82
3.2 GPIO函数 82
3.2.1 GPIO类型定义 82
3.2.2 GPIO常量定义 83
3.2.3 GPIO函数定义 84
3.3 GPIO应用实例 86
3.3.1 生成开发项目 86
3.3.2 主程序文件结构解析 90
3.3.3 外设初始化过程分析 94
第4章 HAL库 98
4.1 HAL库结构 98
4.1.1 HAL库的特点 98
4.1.2 HAL库的构成 99
4.1.3 HAL库用户应用程序 99
4.2 HAL库文件 101
4.2.1 HAL库头文件 101
4.2.2 HAL库源文件 104
第5章 系统配置 107
5.1 系统架构 107
5.1.1 总线结构 107
5.1.2 存储器的组织 108
5.1.3 启动配置 108
5.2 Flash存储器 110
5.2.1 Flash的读操作 110
5.2.2 Flash的写和擦除操作 111
5.2.3 Flash读保护 113
5.2.4 Flash写保护 114
5.2.5 Flash中断 114
5.2.6 CRC计算单元 114
5.3 选项字节 115
5.3.1 选项字节的格式 115
5.3.2 选项字节编程 118
5.4 Flash函数 119
5.4.1 Flash类型定义 119
5.4.2 Flash常量定义 120
5.4.3 Flash函数定义 121
5.5 CRC函数 128
5.5.1 CRC类型定义 128
5.5.2 CRC常量定义 129
5.5.3 CRC函数定义 131
第6章 时钟 135
6.1 概述 135
6.1.1 时钟树的结构 135
6.1.2 时钟源 137
6.1.3 时钟安全 140
6.1.4 时钟应用 140
6.1.5 低功耗模式下的时钟 141
6.1.6 复位 141
6.2 RCC函数 143
6.2.1 RCC类型定义 143
6.2.2 RCC常量定义 145
6.2.3 RCC函数定义 152
6.3 时钟控制实例 159
第7章 电源控制 162
7.1 供电管理 162
7.1.1 供电引脚 162
7.1.2 上电复位和掉电复位 165
7.1.3 可编程电压检测器 166
7.2 低功耗模式 166
7.2.1 低功耗模式的分类 166
7.2.2 睡眠模式 167
7.2.3 停机模式 168
7.2.4 待机模式 169
7.2.5 自动唤醒 170
7.3 电源控制函数 170
7.3.1 电源控制类型定义 170
7.3.2 电源控制常量定义 171
7.3.3 电源控制函数定义 172
7.4 低功耗模式应用实例 178
7.4.1 从停机模式唤醒 178
7.4.2 从待机模式唤醒 180
第8章 DMA控制器 183
8.1 DMA概述 183
8.1.1 DMA控制器内部结构 183
8.1.2 DMA的处理过程 183
8.1.3 DMA中断 186
8.1.4 DMA请求映射 186
8.2 DMA函数 189
8.2.1 DMA类型定义 189
8.2.2 DMA常量定义 190
8.2.3 DMA函数定义 191
8.3 DMA应用实例 194
第9章 异常 198
9.1 CortexM0的异常处理 198
9.1.1 异常的特点 198
9.1.2 嵌套向量中断控制器 201
9.1.3 中断的使能 201
9.1.4中断请求的挂起和清除 202
9.1.5 中断优先级控制 204
9.1.6 SysTick定时器 204
9.2扩展中断和事件控制器(EXTI) 207
9.2.1 事件线概述 207
9.2.2 事件线的控制逻辑 208
9.2.3 事件线的配置方法 210
9.2.4 EXTI唤醒 210
9.2.5 中断服务程序(ISR) 210
9.3 异常相关函数 212
9.3.1 异常类型定义 212
9.3.2 异常常量定义 213
9.3.3 异常函数定义 213
9.4 EXTI应用实例 219
第二篇 外设模块
第10章 模拟数字转换器 224
10.1 ADC模块概述 224
10.1.1 ADC的内部结构 224
10.1.2 ADC校准 225
10.1.3 ADC的启动和关闭 226
10.1.4 ADC时钟 228
10.2 ADC功能配置 229
10.2.1 ADC的基础配置 229
10.2.2 ADC的转换模式 230
10.2.3 A/D转换的启动和停止 231
10.2.4 A/D转换时序 232
10.2.5 ADC过冲 233
10.2.6 管理转换数据 235
10.2.7 ADC的低功耗特性 235
10.2.8 模拟看门狗 237
10.2.9 ADC的内部通道转换 238
10.2.10 ADC中断 240
10.3 ADC函数 241
10.3.1 ADC类型定义 241
10.3.2 ADC常量定义 242
10.3.3 ADC函数定义 246
10.4 ADC的应用实例 253
10.4.1 数字显示电压值 254
10.4.2 读取温度传感器 256
第11章 数字模拟转换器 259
11.1 DAC模块概述 259
11.1