| 作者 |
| 徐灵飞 |
| 丛书名 |
| 出版社 |
| 电子工业出版社 |
| ISBN |
| 9787121388590 |
| 简要 |
| 简介 |
| 内容简介书籍教材书店 本书主要以STM32F429微控制器为对象讲解嵌入式系统设计方法、实例。全书分为17章,主要对嵌入式系统,ARM Cortex-M体系架构,STM32F429微控制器内部构造及其常用的片上外设结构、应用实例、程序开发方法进行了讲解。书中对常用的应用进行了实例讲解,给出了清晰的系统应用设计思路,并明确了每个应用的设计步骤,提供了每个应用的程序源代码,使初学者在学习了相关基本知识后能够对具体的设计一看即懂。本书设计了适量习题,习题内容紧贴各章核心内容,涵盖基本概念及相关应用,能够起到巩固重要知识点的作用。本书适用于电子、通信、电气、测控、计算机、物联网等专业的在校生和嵌入式系统设计的爱好者。 |
| 目录 |
| 第1章 嵌入式系统 1 1.1 嵌入式系统概述 1 1.1.1 嵌入式系统的定义 1 1.1.2 嵌入式系统的特点 1 1.1.3 嵌入式系统的应用 2 1.2 嵌入式系统的体系 2 1.2.1 硬件架构 3 1.2.2 软件层次 3 1.3 嵌入式硬件系统 6 1.3.1 嵌入式处理器分类 6 1.3.2 典型嵌入式处理器 7 1.3.3 存储系统 9 1.3.4 I/O接口 10 1.3.5 人机接口 10 1.3.6 电源及其他设备 10 1.4 嵌入式操作系统 10 1.4.1 嵌入式操作系统的发展 10 1.4.2 嵌入式操作系统的分类 11 1.4.3 嵌入式实时操作系统的功能 12 1.4.4 常用的嵌入式操作系统 13 1.5 嵌入式系统的设计 14 1.5.1 嵌入式系统设计流程 14 1.5.2 嵌入式系统开发环境搭建 15 习题 16 第2章 ARM Cortex-M体系架构 18 2.1 ARM Cortex体系架构概述 18 2.1.1 CISC和RISC 18 2.1.2 ARM架构发展史 20 2.1.3 ARM处理器的类型 20 2.1.4 Cortex-M系列处理器 22 2.2 Cortex-M4内核基础 23 2.2.1 寄存器组 24 2.2.2 堆栈操作 26 2.2.3 特殊功能寄存器组 27 2.2.4 操作模式 28 2.3 存储器系统 30 2.3.1 数据类型 30 2.3.2 存储形式 30 2.3.3 存储器映射 31 2.3.4 位带区 32 2.4 异常和中断 33 2.4.1 向量表 34 2.4.2 优先级 35 2.4.3 响应过程 36 2.4.4 复位 38 习题 39 第3章 STM32F429微控制器 40 3.1 STM32系列微控制器 40 3.1.1 STM32系列微控制器概述 40 3.1.2 芯片命名规则 41 3.1.3 开发工具 41 3.1.4 STM32标准函数库介绍 46 3.2 STM32F429微控制器结构 51 3.2.1 芯片资源 51 3.2.2 芯片内部结构 52 3.2.3 芯片引脚和功能 55 3.2.4 电源系统 57 3.2.5 复位系统 60 3.3 STM32F4系列微控制器存储器映射和寄存器 61 3.3.1 存储器映射 61 3.3.2 自举配置 63 3.3.3 寄存器映射 63 习题 67 第4章 启动文件和SysTick 69 4.1 启动文件 69 4.1.1 启动文件概述 69 4.1.2 启动步骤 69 4.2 启动文件代码讲解 70 4.3 SysTick 75 4.3.1 SysTick概述 75 4.3.2 SysTick的库函数 76 4.3.3 应用实例 78 习题 79 第5章 GPIO 80 5.1 GPIO结构原理 80 5.1.1 GPIO功能描述 80 5.1.2 GPIO输入配置 81 5.1.3 GPIO输出配置 82 5.1.4 GPIO复用功能配置 84 5.1.5 GPIO模拟功能配置 85 5.2 GPIO相关寄存器 86 5.2.1 模式寄存器 86 5.2.2 输出类型寄存器 86 5.2.3 输出速度寄存器 87 5.2.4 上拉/下拉寄存器 87 5.2.5 输入数据寄存器 88 5.2.6 输出数据寄存器 88 5.2.7 置位/复位寄存器 89 5.2.8 配置锁存寄存器 90 5.2.9 复用功能寄存器 90 5.3 GPIO典型应用步骤及常用库函数 92 5.3.1 GPIO典型应用步骤 92 5.3.2 常用库函数 93 5.4 应用实例 97 5.4.1 GPIO输出应用实例 97 5.4.2 GPIO输入应用实例 99 5.4.3 GPIO复用应用实例 101 5.4.4 矩阵按键应用 102 习题 106 第6章 NVIC 108 6.1 NVIC的中断类型及中断管理方法 108 6.1.1 中断类型 108 6.1.2 中断管理方法 109 6.2 常用库函数 110 6.3 应用实例 112 习题 113 第7章 EXTI 114 7.1 EXTI概述 114 7.1.1 EXTI结构 114 7.1.2 GPIO相关EXTI线 116 7.2 EXTI典型应用步骤及常用库函数 116 7.2.1 EXTI典型应用步骤 116 7.2.2 常用库函数 117 7.3 应用实例 119 习题 121 第8章 时钟系统 122 8.1 时钟系统结构 122 8.1.1 时钟源 124 8.1.2 HSE时钟 124 8.1.3 PLL配置 125 8.1.4 LSE 时钟 126 8.1.5 LSI时钟 126 8.1.6 时钟输出功能 126 8.2 PLL时钟系统配置步骤及常用库函数 126 8.2.1 PLL时钟系统配置步骤 127 8.2.2 常用库函数 127 8.3 应用实例 130 习题 132 第9章 定时器系统 133 9.1 定时器系统概述 133 9.1.1 定时器结构 134 9.1.2 时钟源 134 9.2 基本定时功能 137 9.2.1 时基单元 137 9.2.2 计数模式 138 9.3 捕抓/比较功能 141 9.3.1 输入捕抓/比较输出通道 141 9.3.2 输入捕抓模式 143 9.3.3 输出模式 144 9.3.4 编码器接口模式 147 9.4 定时器典型应用步骤及常用库函数 150 9.4.1 基本定时功能应用步骤 150 9.4.2 输入捕抓模式应用步骤 150 9.4.3 PWM输出应用步骤 152 9.4.4 编码器接口应用步骤 153 9.4.5 常用库函数 155 9.5 应用实例 159 9.5.1 定时器控制实现灯闪烁 159 9.5.2 直流电机调速控制 161 9.5.3 测量外部输入脉冲频率 164 9.5.4 测量电机转速和方向 167 习题 170 第10章 DMA控制器 171 10.1 DMA控制器概述 171 10.1.1 DMA控制器主要特性 171 10.1.2 DMA控制器结构 172 10.2 DMA控制器功能 173 10.2.1 DMA事务 173 10.2.2 数据流 174 10.2.3 通道 174 10.2.4 仲裁 175 10.2.5 循环模式 176 10.2.6 单次和突发模式 176 10.2.7 FIFO 176 10.2.8 DMA中断 177 10.2.9 DMA数据流配置过程 177 10.3 DMA典型应用步骤及常用库函数 178 10.3.1 DMA典型应用步骤 178 10.3.2 常用库函数 179 10.4 应用实例 181 习题 183 第11章 通用同步异步收发器(USART) 184 11.1 通信概述 184 11.1.1 并行通信和串行通信 184 11.1.2 单工通信、半双工通信、全双工通信 185 11.1.3 同步通信和异步通信 185 11.1.4 RS-232 186 11.2 STM32F429微控制器的USART结构 188 11.2.1 USART概述 188 11.2.2 波特率设置 192 11.2.3 USART中断 193 11.2.4 DMA控制 193 11.3 USART典型应用步骤及常用库函数 194 11.3.1 USART典型应用步骤 194 11.3.2 常用库函数 194 11.4 应用实例 197 11.4.1 通过串口向计算机传输100个字节 197 11.4.2 串口与计算机回显功能实现 199 11.4.3 利用DMA通过串口向计算机传输1000个字节 202 习题 204 第12章 模数转换器(ADC) 205 12.1 ADC概述 205 12.1.1 A/D转换过程 205 12.1.2 ADC原理 206 12.2 STM32F429微控制器的ADC结构 208 12.3 STM32F429微控制器的ADC功能 212 12.3.1 ADC使能和启动 212 12.3.2 时钟配置 213 12.3.3 转换模式 213 12.3.4 DMA控制 214 12.4 ADC典型应用步骤及常用库函数 215 12.4.1 ADC典型应用步骤 215 12.4.2 常用库函数 216 12.5 应用实例 220 12.5.1 规则组单通道采集外部电压 220 12.5.2 使用DMA和规则组通道实现多路模拟信号采集 222 习题 227 第13章 数模转换器(DAC) 228 13.1 DAC概述 228 13.1.1 基本概念 228 13.1.2 DAC原理 229 13.2 STM32F429微控制器的DAC结构 230 13.3 STM32F429微控制器的DAC功能 231 13.4 DAC典型应用步骤及常用库函数 234 13.4.1 DAC典型应用步骤 234 13.4.2 常用库函数 235 13.5 应用实例 236 习题 239 第14章 I2C控制器 240 14.1 I2C协议 240 14.1.1 I2C物理层 240 14.1.2 I2C协议层 241 14.2 软件模拟I2C协议程序分析 244 14.2.1 I2C引脚配置 244 14.2.2 软件模拟开始信号和结束信号 246 14.2.3 软件模拟检测ACK信号 246 14.2.4 软件模拟产生ACK信号和NACK信号 247 14.2.5 软件模拟发送一个字节数据 247 14.2.6 软件模拟接收一个字节数据 248 14.2.7 软件模拟I2C完整写操作 248 14.2.8 软件模拟I2C完整读操作 249 14.3 模拟I2C总线协议读写AT24CXX系列EEPROM实验 250 14.4 I2C控制器概述 254 14.4.1 I2C控制器主要特性 254 14.4.2 I2C控制器结构 254 14.4.3 I2C控制器主模式 255 14.4.4 I2C控制器从模式 256 14.4.5 I2C控制器中断 257 14.5 I2C典型应用步骤及常用库函数 258 14.5.1 I2C典型应用步骤 258 14.5.2 常用库函数 258 14.6 应用实例 261 14.6.1 I2C控制器主模式测试 261 14.6.2 I2C控制器从模式测试 266 习题 269 第15章 SPI控制器 270 15.1 SPI协议 270 15.1.1 SPI数据传输 270 15.1.2 SPI通信的时钟极性和时钟相位 271 15.1.3 4种SPI模式 271 15.2 SPI控制器概述 273 15.2.1 SPI控制器主要特性 273 15.2.2 SPI控制器结构 273 15.2.3 SPI主机配置 274 15.2.4 SPI从机配置 275 15.2.5 主模式的全双工发送和接收过程 275 15.2.6 SPI状态标志 276 15.2.7 SPI中断 276 15.3 SPI典型应用步骤及常用库函数 277 15.3.1 SPI典型应用步骤 277 15.3.2 常用库函数 277 15.4 应用实例 279 习题 289 第16章 外部存储控制器 290 16.1 FMC概述 290 16.1.1 FMC主要特性 290 16.1.2 FMC结构 291 16.1.3 SDRAM简介 292 16.1.4 SDRAM初始化 294 16.2 FMC扩展SDRAM典型应用步骤及常用库函数 295 16.2.1 FMC扩展SDRAM典型应用步骤 295 16.2.2 常用库函数 296 16.3 应用实例 299 习题 302 第17章 LCD控制器 303 17.1 液晶显示技术及液晶显示器控制原理 303 17.1.1 液晶显示技术 303 17.1.2 液晶显示器控制原理 304 17.2 LTDC控制器概述 307 17.2.1 LTDC控制器主要特性 307 17.2.2 LTDC控制器结构 308 17.3 DMA2D控制器概述 310 17.3.1 DMA2D控制器结构 310 17.3.2 DMA2D控制器事务 311 17.3.3 DMA2D控制器配置 312 17.4 字符显示 312 17.4.1 字符编码 312 17.4.2 字模的生成 313 17.5 LTDC典型应用步骤及常用库函数 317 17.5.1 LTDC典型应用步骤 317 17.5.2 常用库函数 318 17.6 应用实例 323 习题 332 参考文献 334 |