展开全部

主编推荐语

着重讲解STM32F429的外设以及外设的应用,让你可以零死角地玩转STM32F429。

内容简介

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

目录

  • 版权信息
  • 前言
  • 第1章 如何安装KEIL5
  • 1.1 温馨提示
  • 1.2 获取KEIL5安装包
  • 1.3 开始安装KEIL5
  • 1.4 安装STM32芯片包
  • 第2章 如何用DAP仿真器下载程序
  • 2.1 仿真器简介
  • 2.2 硬件连接
  • 2.3 仿真器配置
  • 2.4 选择目标板
  • 2.5 下载程序
  • 第3章 初识STM32
  • 3.1 什么是STM32
  • 3.2 STM32能做什么
  • 3.2.1 智能手环
  • 3.2.2 微型四轴飞行器
  • 3.2.3 淘宝众筹
  • 3.3 STM32选型
  • 3.3.1 STM32分类
  • 3.3.2 STM32命名方法
  • 3.3.3 选择合适的MCU
  • 第4章 寄存器
  • 4.1 寄存器简介
  • 4.2 STM32的外观
  • 4.3 芯片里面有什么
  • 4.4 存储器映射
  • 4.5 寄存器映射
  • 4.5.1 STM32的外设地址映射
  • 4.5.2 C语言对寄存器的封装
  • 第5章 新建工程——寄存器版
  • 5.1 新建本地工程文件夹工程
  • 5.1.1 新建本地工程文件夹
  • 5.1.2 新建工程
  • 5.2 下载程序
  • 第6章 使用寄存器点亮LED
  • 6.1 GPIO简介
  • 6.2 GPIO框图剖析
  • 6.2.1 基本结构分析
  • 6.2.2 GPIO工作模式
  • 6.3 实验:使用寄存器点亮LED
  • 6.3.1 硬件连接
  • 6.3.2 启动文件
  • 6.3.3 stm32f4xx.h文件
  • 6.3.4 main文件
  • 6.3.5 下载验证
  • 第7章 自己写库——构建库函数雏形
  • 7.1 STM32函数库简介
  • 7.2 采用库来开发及学习的原因
  • 7.3 实验:构建库函数雏形
  • 7.3.1 修改寄存器地址封装
  • 7.3.2 定义访问外设的结构体指针
  • 7.3.3 定义初始化结构体
  • 7.3.4 定义引脚模式的枚举类型
  • 7.3.5 定义GPIO初始化函数
  • 7.3.6 使用函数点亮LED
  • 7.3.7 下载验证
  • 7.3.8 总结
  • 第8章 初识STM32标准库
  • 8.1 CMSIS标准及库层次关系
  • 8.1.1 库目录、文件简介
  • 8.1.2 各库文件间的关系
  • 8.2 使用帮助文档
  • 8.2.1 常用官方资料
  • 8.2.2 初识库函数
  • 第9章 新建工程——库函数版
  • 9.1 新建本地工程文件夹
  • 9.2 新建工程
  • 9.3 配置魔术棒选项卡
  • 9.4 下载器配置
  • 9.5 选择Flash大小
  • 第10章 GPIO输出——使用固件库点亮LED
  • 10.1 硬件设计
  • 10.2 软件设计
  • 10.2.1 编程要点
  • 10.2.2 代码分析
  • 10.2.3 下载验证
  • 10.3 STM32标准库补充知识
  • 第11章 GPIO输入——按键检测
  • 11.1 硬件设计
  • 11.2 软件设计
  • 11.2.1 编程要点
  • 11.2.2 代码分析
  • 11.2.3 下载验证
  • 第12章 GPIO——位带操作
  • 12.1 位带简介
  • 12.1.1 外设位带区
  • 12.1.2 SRAM位带区
  • 12.1.3 位带区和位带别名区地址转换
  • 12.2 GPIO位带操作
  • 第13章 启动文件
  • 13.1 启动文件简介
  • 13.2 查找ARM汇编指令
  • 13.3 启动文件代码讲解
  • 第14章 RCC——使用HSE/HSI配置时钟
  • 14.1 RCC主要作用——时钟部分
  • 14.2 RCC框图剖析——时钟树
  • 14.2.1 系统时钟
  • 14.2.2 其他时钟
  • 14.3 配置系统时钟实验
  • 14.3.1 使用HSE
  • 14.3.2 使用HSI
  • 14.3.3 硬件设计
  • 14.3.4 软件设计
  • 14.3.5 下载验证
  • 第15章 STM32中断应用概览
  • 15.1 异常类型
  • 15.2 NVIC简介
  • 15.2.1 NVIC寄存器简介
  • 15.2.2 NVIC中断配置固件库
  • 15.3 优先级的定义
  • 15.3.1 优先级定义
  • 15.3.2 优先级分组
  • 15.4 中断编程
  • 第16章 EXTI——外部中断/事件控制器
  • 16.1 EXTI简介
  • 16.2 EXTI功能框图
  • 16.3 中断/事件线
  • 16.4 EXTI初始化结构体详解
  • 16.5 外部中断控制实验
  • 16.5.1 硬件设计
  • 16.5.2 软件设计
  • 16.5.3 下载验证
  • 第17章 SysTick——系统定时器
  • 17.1 SysTick简介
  • 17.2 SysTick寄存器介绍
  • 17.3 SysTick定时实验
  • 17.3.1 硬件设计
  • 17.3.2 软件设计
  • 第18章 通信的基本概念
  • 18.1 串行通信与并行通信
  • 18.2 全双工、半双工及单工通信
  • 18.3 同步通信与异步通信
  • 18.4 通信速率
  • 第19章 USART——串口通信
  • 19.1 串口通信协议简介
  • 19.1.1 物理层
  • 19.1.2 协议层
  • 19.2 STM32的USART简介
  • 19.3 USART功能框图
  • 19.4 USART初始化结构体详解
  • 19.5 USART1接发通信实验
  • 19.5.1 硬件设计
  • 19.5.2 软件设计
  • 19.5.3 下载验证
  • 19.6 USART1指令控制RGB彩灯实验
  • 19.6.1 硬件设计
  • 19.6.2 软件设计
  • 19.6.3 下载验证
  • 第20章 DMA
  • 20.1 DMA简介
  • 20.2 DMA功能框图
  • 20.3 DMA数据配置
  • 20.4 DMA初始化结构体详解
  • 20.5 DMA存储器到存储器模式实验
  • 20.5.1 硬件设计
  • 20.5.2 软件设计
  • 20.5.3 下载验证
  • 20.6 DMA存储器到外设模式实验
  • 20.6.1 硬件设计
  • 20.6.2 软件设计
  • 20.6.3 下载验证
  • 第21章 常用存储器介绍
  • 21.1 存储器种类
  • 21.2 RAM存储器
  • 21.2.1 DRAM
  • 21.2.2 SRAM
  • 21.2.3 DRAM与SRAM的应用场合
  • 21.3 非易失性存储器
  • 21.3.1 ROM存储器
  • 21.3.2 Flash存储器
  • 第22章 I2C——读写EEPROM
  • 22.1 I2C协议简介
  • 22.1.1 I2C物理层
  • 22.1.2 协议层
  • 22.2 STM32的I2C特性及架构
  • 22.2.1 STM32的I2C外设简介
  • 22.2.2 STM32的I2C架构剖析
  • 22.2.3 通信过程
  • 22.3 I2C初始化结构体详解
  • 22.4 I2C——读写EEPROM实验
  • 22.4.1 硬件设计
  • 22.4.2 软件设计
  • 22.4.3 下载验证
  • 第23章 SPI——读写串行Flash
  • 23.1 SPI协议简介
  • 23.1.1 SPI物理层
  • 23.1.2 协议层
  • 23.2 STM32的SPI特性及架构
  • 23.2.1 STM32的SPI外设简介
  • 23.2.2 STM32的SPI架构剖析
  • 23.2.3 通信过程
  • 23.3 SPI初始化结构体详解
  • 23.4 SPI——读写串行Flash实验
  • 23.4.1 硬件设计
  • 23.4.2 软件设计
  • 23.4.3 下载验证
  • 第24章 串行Flash文件系统FatFs
  • 24.1 文件系统
  • 24.2 FatFs文件系统简介
  • 24.2.1 FatFs的目录结构
  • 24.2.2 FatFs帮助文档
  • 24.2.3 FatFs源码
  • 24.3 FatFs文件系统移植实验
  • 24.3.1 FatFs程序结构图
  • 24.3.2 硬件设计
  • 24.3.3 FatFs移植步骤
  • 24.3.4 FatFs底层设备驱动函数
  • 24.3.5 FatFs功能配置
  • 24.3.6 FatFs功能测试
  • 24.3.7 下载验证
  • 24.4 FatFs功能使用实验
  • 24.4.1 硬件设计
  • 24.4.2 软件设计
  • 24.4.3 下载验证
  • 第25章 FMC——扩展外部SDRAM
  • 25.1 SDRAM控制原理
  • 25.1.1 SDRAM信号线
  • 25.1.2 控制逻辑
  • 25.1.3 地址控制
  • 25.1.4 SDRAM的存储阵列
  • 25.1.5 数据输入输出
  • 25.1.6 SDRAM的命令
  • 25.1.7 SDRAM的初始化流程
  • 25.1.8 SDRAM的读写流程
  • 25.2 FMC简介
  • 25.3 FMC框图剖析
  • 25.4 FMC的地址映射
  • 25.5 SDRAM时序结构体
  • 25.6 SDRAM初始化结构体
  • 25.7 SDRAM命令结构体
  • 25.8 FMC——扩展外部SDRAM实验
  • 25.8.1 硬件设计
  • 25.8.2 软件设计
  • 25.8.3 下载验证
  • 第26章 LTDC/DMA2D——液晶显示
  • 26.1 显示器简介
  • 26.1.1 液晶显示器
  • 26.1.2 LED和OLED显示器
  • 26.1.3 显示器的基本参数
  • 26.2 液晶屏控制原理
  • 26.2.1 液晶面板的控制信号
  • 26.2.2 液晶数据传输时序
  • 26.2.3 显存
  • 26.3 LTDC液晶控制器简介
  • 26.3.1 图像数据混合
  • 26.3.2 LTDC结构框图剖析
  • 26.4 DMA2D图形加速器简介
  • 26.5 LTDC初始化结构体
  • 26.6 LTDC层级初始化结构体
  • 26.7 DMA2D初始化结构体
  • 26.8 LTDC/DMA2D——液晶显示实验
  • 26.8.1 硬件设计
  • 26.8.2 软件设计
  • 26.8.3 下载验证
  • 第27章 LTDC——液晶显示中英文
  • 27.1 字符编码
  • 27.1.1 ASCII编码
  • 27.1.2 中文编码
  • 27.1.3 Unicode字符集和编码
  • 27.1.4 UTF-32
  • 27.1.5 UTF-16
  • 27.1.6 UTF-8
  • 27.1.7 BOM
  • 27.2 字模简介
  • 27.2.1 字模的构成
  • 27.2.2 字模显示原理
  • 27.2.3 如何制作字模
  • 27.2.4 字模寻址公式
  • 27.2.5 存储字模文件
  • 27.3 LTDC——各种模式的液晶显示字符实验
  • 27.3.1 硬件设计
  • 27.3.2 显示ASCII编码的字符
  • 27.3.3 显示GB2312编码的字符
  • 27.3.4 显示任意大小的字符
  • 27.3.5 下载验证
  • 第28章 电容触摸屏——触摸画板
  • 28.1 触摸屏简介
  • 28.1.1 电阻触摸屏检测原理
  • 28.1.2 电容触摸屏检测原理
  • 28.2 电容触摸屏控制芯片
  • 28.2.1 GT9157芯片的引脚
  • 28.2.2 上电时序与I2C设备地址
  • 28.2.3 寄存器配置
  • 28.2.4 读取坐标信息
  • 28.3 电容触摸屏——触摸画板实验
  • 28.3.1 硬件设计
  • 28.3.2 软件设计
  • 28.3.3 下载验证
  • 第29章 ADC——电压采集
  • 29.1 ADC简介
  • 29.2 ADC功能框图剖析
  • 29.2.1 ADC功能
  • 29.2.2 电压转换
  • 29.3 ADC初始化结构体详解
  • 29.4 独立模式单通道采集实验
  • 29.4.1 硬件设计
  • 29.4.2 软件设计
  • 29.4.3 下载验证
  • 29.5 独立模式多通道采集实验
  • 29.5.1 硬件设计
  • 29.5.2 软件设计
  • 29.5.3 下载验证
  • 29.6 三重ADC交替模式采集实验
  • 29.6.1 硬件设计
  • 29.6.2 软件设计
  • 29.6.3 下载验证
  • 第30章 TIM——基本定时器
  • 30.1 TIM简介
  • 30.2 基本定时器
  • 30.3 基本定时器功能框图
  • 30.4 定时器初始化结构体详解
  • 30.5 基本定时器定时实验
  • 30.5.1 硬件设计
  • 30.5.2 软件设计
  • 30.5.3 下载验证
  • 第31章 TIM——高级定时器
  • 31.1 高级控制定时器
  • 31.2 高级控制定时器功能框图
  • 31.3 输入捕获应用
  • 31.3.1 测量脉宽或者频率
  • 31.3.2 PWM输入模式
  • 31.4 输出比较应用
  • 31.5 定时器初始化结构体详解
  • 31.6 PWM互补输出实验
  • 31.6.1 硬件设计
  • 31.6.2 软件设计
  • 31.6.3 下载验证
  • 31.7 PWM输入捕获实验
  • 31.7.1 硬件设计
  • 31.7.2 软件设计
  • 31.7.3 下载验证
  • 第32章 TIM——电容按键检测
  • 32.1 电容按键原理
  • 32.2 电容按键检测实验
  • 32.2.1 硬件设计
  • 32.2.2 软件设计
  • 32.2.3 下载验证
  • 第33章 SDIO——SD卡读写测试
  • 33.1 SDIO简介
  • 33.2 SD卡物理结构
  • 33.3 SDIO总线
  • 33.3.1 总线拓扑
  • 33.3.2 总线协议
  • 33.3.3 命令
  • 33.3.4 响应
  • 33.4 SD卡的操作模式及切换
  • 33.4.1 SD卡的操作模式
  • 33.4.2 卡识别模式
  • 33.4.3 数据传输模式
  • 33.5 STM32的SDIO功能框图
  • 33.6 SDIO初始化结构体
  • 33.7 SDIO命令初始化结构体
  • 33.8 SDIO数据初始化结构体
  • 33.9 SD卡读写测试实验
  • 33.9.1 硬件设计
  • 33.9.2 软件设计
  • 33.9.3 下载验证
  • 第34章 基于SD卡的FatFs文件系统
  • 34.1 FatFs移植步骤
  • 34.2 FatFs接口函数
  • 34.3 FatFs功能测试
  • 第35章 I2S——音频播放与录音输入
  • 35.1 I2S简介
  • 35.1.1 数字音频技术
  • 35.1.2 I2S总线接口
  • 35.1.3 音频数据传输协议标准
  • 35.2 I2S功能框图
  • 35.3 WM8978音频编译码器
  • 35.4 WAV格式文件
  • 35.4.1 RIFF文件规范
  • 35.4.2 WAV文件
  • 35.4.3 WAV文件实例分析
  • 35.5 I2S初始化结构体详解
  • 35.6 录音与回放实验
  • 35.6.1 硬件设计
  • 35.6.2 软件设计
  • 35.6.3 下载验证
  • 35.7 MP3播放器
  • 35.7.1 MP3文件结构
  • 35.7.2 MP3解码库
  • 35.7.3 Helix解码库移植
  • 35.7.4 MP3播放器功能实现
  • 35.7.5 下载验证
  • 第36章 ETH——LwIP以太网通信
  • 36.1 互联网模型
  • 36.2 以太网
  • 36.2.1 PHY层
  • 36.2.2 MAC子层
  • 36.3 TCP/IP协议栈
  • 36.3.1 需要协议栈的原因
  • 36.3.2 各网络层的功能
  • 36.4 以太网外设
  • 36.4.1 SMI接口
  • 36.4.2 MII和RMII接口
  • 36.4.3 MAC数据包发送和接收
  • 36.4.4 MAC过滤
  • 36.5 PHY:LAN8720A
  • 36.6 LwIP:轻型TCP/IP协议栈
  • 36.7 ETH初始化结构体详解
  • 36.8 以太网通信实验:无操作系统LwIP移植
  • 36.8.1 硬件设计
  • 36.8.2 移植步骤
  • 36.8.3 下载验证
  • 36.9 基于μCOS-III移植LwIP实验
  • 第37章 CAN——通信实验
  • 37.1 CAN协议简介
  • 37.1.1 CAN物理层
  • 37.1.2 协议层
  • 37.2 STM32的CAN外设简介
  • 37.3 CAN初始化结构体
  • 37.4 CAN发送及接收结构体
  • 37.5 CAN筛选器结构体
  • 37.6 CAN——双机通信实验
  • 37.6.1 硬件设计
  • 37.6.2 软件设计
  • 37.6.3 下载验证
  • 第38章 RS-485通信实验
  • 38.1 RS-485通信协议简介
  • 38.2 RS-485——双机通信实验
  • 38.2.1 硬件设计
  • 38.2.2 软件设计
  • 38.2.3 下载验证
  • 第39章 电源管理——实现低功耗
  • 39.1 STM32的电源管理简介
  • 39.1.1 电源监控器
  • 39.1.2 STM32的电源系统
  • 39.1.3 STM32的功耗模式
  • 39.2 电源管理相关的库函数及命令
  • 39.2.1 配置PVD监控功能
  • 39.2.2 WFI与WFE命令
  • 39.2.3 进入停止模式
  • 39.2.4 进入待机模式
  • 39.3 PWR——睡眠模式实验
  • 39.3.1 硬件设计
  • 39.3.2 软件设计
  • 39.3.3 下载验证
  • 39.4 PWR——停止模式实验
  • 39.4.1 硬件设计
  • 39.4.2 软件设计
  • 39.4.3 下载验证
  • 39.5 PWR——待机模式实验
  • 39.5.1 硬件设计
  • 39.5.2 软件设计
  • 39.5.3 下载验证
  • 39.6 PWR——PVD电源监控实验
  • 39.6.1 硬件设计
  • 39.6.2 软件设计
  • 39.6.3 下载验证
  • 第40章 RTC——实时时钟
  • 40.1 RTC简介
  • 40.2 RTC功能框图解析
  • 40.3 RTC初始化结构体讲解
  • 40.4 RTC时间结构体讲解
  • 40.5 RTC日期结构体讲解
  • 40.6 RTC闹钟结构体讲解
  • 40.7 RTC—日历实验
  • 40.7.1 硬件设计
  • 40.7.2 软件设计
  • 40.7.3 下载验证
  • 40.8 RTC—闹钟实验
  • 40.8.1 硬件设计
  • 40.8.2 软件设计
  • 40.8.3 下载验证
  • 第41章 DCMI——OV5640摄像头
  • 41.1 摄像头简介
  • 41.1.1 数字摄像头与模拟摄像头的区别
  • 41.1.2 CCD与CMOS的区别
  • 41.2 OV5640摄像头
  • 41.2.1 OV5640传感器简介
  • 41.2.2 OV5640引脚及功能框图
  • 41.2.3 SCCB时序
  • 41.2.4 OV5640的寄存器
  • 41.2.5 像素数据输出时序
  • 41.3 STM32的DCMI接口简介
  • 41.3.1 DCMI整体框图
  • 41.3.2 DCMI接口内部结构
  • 41.3.3 同步方式
  • 41.3.4 捕获模式及捕获率
  • 41.4 DCMI初始化结构体
  • 41.5 DCMI——OV5640摄像头实验
  • 41.5.1 硬件设计
  • 41.5.2 软件设计
  • 41.5.3 下载验证
  • 第42章 MDK的编译过程及文件类型全解
  • 42.1 编译过程
  • 42.1.1 编译过程简介
  • 42.1.2 具体工程中的编译过程
  • 42.2 程序的组成、存储与运行
  • 42.2.1 CODE、RO、RW、ZI Data域及堆栈空间
  • 42.2.2 程序的存储与运行
  • 42.3 编译工具链
  • 42.3.1 设置环境变量
  • 42.3.2 armcc、armasm及armlink
  • 42.3.3 armar、fromelf及用户指令
  • 42.4 MDK工程的文件类型
  • 42.4.1 uvprojx、uvoptx、uvguix及ini工程文件
  • 42.4.2 源文件
  • 42.4.3 Output目录下生成的文件
  • 42.4.4 Listing目录下的文件
  • 42.4.5 sct分散加载文件的格式与应用
  • 42.5 实验:自动分配变量到外部SDRAM空间
  • 42.5.1 硬件设计
  • 42.5.2 软件设计
  • 42.5.3 下载验证
  • 42.6 实验:优先使用内部SRAM并把堆区分配到SDRAM空间
  • 42.6.1 硬件设计
  • 42.6.2 软件设计
  • 42.6.3 下载验证
  • 第43章 在SRAM中调试代码
  • 43.1 在RAM中调试代码
  • 43.2 STM32的启动方式
  • 43.3 内部Flash的启动过程
  • 43.4 实验:在内部SRAM中调试代码
  • 43.4.1 硬件设计
  • 43.4.2 软件设计
  • 43.4.3 下载验证
  • 第44章 读写内部Flash
  • 44.1 STM32的内部Flash简介
  • 44.2 对内部Flash的写入过程
  • 44.3 查看工程的空间分布
  • 44.4 操作内部Flash的库函数
  • 44.5 实验:读写内部Flash
  • 44.5.1 硬件设计
  • 44.5.2 软件设计
  • 44.5.3 下载验证
  • 第45章 设置Flash的读写保护及解除
  • 45.1 选项字节与读写保护
  • 45.1.1 选项字节的内容
  • 45.1.2 RDP读保护级别
  • 45.1.3 PCROP代码读出保护
  • 45.2 修改选项字节的过程
  • 45.3 操作选项字节的库函数
  • 45.4 实验:设置读写保护及解除
  • 45.4.1 硬件设计
  • 45.4.2 软件设计
  • 45.4.3 下载验证
展开全部

评分及书评

评分不足
1个评分

出版方

机械工业出版社有限公司

机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。