微信扫一扫,移动浏览光盘
简介
本书的主要内容将着重介绍STM32的库函数,以及如何使用库的方式进行开发。使初学者能够快速入门能够在此基础上迅速入门,掌握STM32的开发方法。本书内容基于ARM-CortexM3内核的STM32F429芯片,紧紧围绕“库”展开,系统地讲述了STM32固件库的原理、使用方法。
目录
目 录前 言第1章 如何安装KEIL5 11.1 温馨提示 11.2 获取KEIL5安装包 11.3 开始安装KEIL5 11.4 安装STM32芯片包 3第2章 如何用DAP仿真器下载程序 62.1 仿真器简介 62.2 硬件连接 62.3 仿真器配置 62.4 选择目标板 92.5 下载程序 9第3章 初识STM32 103.1 什么是STM32 103.2 STM32能做什么 103.2.1 智能手环 113.2.2 微型四轴飞行器 123.2.3 淘宝众筹 123.3 STM32选型 133.3.1 STM32分类 133.3.2 STM32命名方法 143.3.3 选择合适的MCU 14第4章 寄存器 174.1 寄存器简介 174.2 STM32的外观 174.3 芯片里面有什么 184.4 存储器映射 214.5 寄存器映射 234.5.1 STM32的外设地址映射 234.5.2 C语言对寄存器的封装 26第5章 新建工程——寄存器版 315.1 新建本地工程文件夹工程 315.1.1 新建本地工程文件夹 315.1.2 新建工程 325.2 下载程序 38第6章 使用寄存器点亮LED 396.1 GPIO简介 396.2 GPIO框图剖析 396.2.1 基本结构分析 396.2.2 GPIO工作模式 426.3 实验:使用寄存器点亮LED 436.3.1 硬件连接 446.3.2 启动文件 446.3.3 stm32f4xx.h文件 466.3.4 main文件 476.3.5 下载验证 51第7章 自己写库——构建库函数雏形 527.1 STM32函数库简介 527.2 采用库来开发及学习的原因 537.3 实验:构建库函数雏形 537.3.1 修改寄存器地址封装 547.3.2 定义访问外设的结构体指针 557.3.3 定义初始化结构体 597.3.4 定义引脚模式的枚举类型 607.3.5 定义GPIO初始化函数 627.3.6 使用函数点亮LED 647.3.7 下载验证 667.3.8 总结 66第8章 初识STM32标准库 678.1 CMSIS标准及库层次关系 678.1.1 库目录、文件简介 688.1.2 各库文件间的关系 748.2 使用帮助文档 758.2.1 常用官方资料 758.2.2 初识库函数 76第9章 新建工程——库函数版 789.1 新建本地工程文件夹 789.2 新建工程 799.3 配置魔术棒选项卡 829.4 下载器配置 859.5 选择Flash大小 86第10章 GPIO输出——使用固件库点亮LED 8810.1 硬件设计 8810.2 软件设计 8810.2.1 编程要点 8910.2.2 代码分析 8910.2.3 下载验证 9410.3 STM32标准库补充知识 94第11章 GPIO输入——按键检测 9811.1 硬件设计 9811.2 软件设计 9911.2.1 编程要点 9911.2.2 代码分析 9911.2.3 下载验证 102第12章 GPIO——位带操作 10312.1 位带简介 10312.1.1 外设位带区 10312.1.2 SRAM位带区 10412.1.3 位带区和位带别名区地址转换 10412.2 GPIO位带操作 105第13章 启动文件 10813.1 启动文件简介 10813.2 查找ARM汇编指令 10813.3 启动文件代码讲解 109第14章 RCC——使用HSE/HSI配置时钟 11614.1 RCC主要作用——时钟部分 11614.2 RCC框图剖析——时钟树 11614.2.1 系统时钟 11614.2.2 其他时钟 12114.3 配置系统时钟实验 12214.3.1 使用HSE 12214.3.2 使用HSI 12214.3.3 硬件设计 12314.3.4 软件设计 12314.3.5 下载验证 129第15章 STM32中断应用概览 13015.1 异常类型 13015.2 NVIC简介 13115.2.1 NVIC寄存器简介 13115.2.2 NVIC中断配置固件库 13215.3 优先级的定义 13215.3.1 优先级定义 13215.3.2 优先级分组 13315.4 中断编程 134第16章 EXTI——外部中断/事件控制器 13616.1 EXTI简介 13616.2 EXTI功能框图 13616.3 中断/事件线 13816.4 EXTI初始化结构体详解 13916.5 外部中断控制实验 13916.5.1 硬件设计 14016.5.2 软件设计 14016.5.3 下载验证 144第17章 SysTick——系统定时器 14517.1 SysTick简介 14517.2 SysTick寄存器介绍 14517.3 SysTick定时实验 14617.3.1 硬件设计 14617.3.2 软件设计 146第18章 通信的基本概念 15218.1 串行通信与并行通信 15218.2 全双工、半双工及单工通信 15318.3 同步通信与异步通信 15318.4 通信速率 154第19章 USART——串口通信 15519.1 串口通信协议简介 15519.1.1 物理层 15519.1.2 协议层 15819.2 STM32的USART简介 15919.3 USART功能框图 16019.4 USART初始化结构体详解 16619.5 USART1接发通信实验 16719.5.1 硬件设计 16819.5.2 软件设计 16819.5.3 下载验证 17319.6 USART1指令控制RGB彩灯实验 17419.6.1 硬件设计 17419.6.2 软件设计 17419.6.3 下载验证 179第20章 DMA 18020.1 DMA简介 18020.2 DMA功能框图 18020.3 DMA数据配置 18420.4 DMA初始化结构体详解 18820.5 DMA存储器到存储器模式实验 19020.5.1 硬件设计 19020.5.2 软件设计 19020.5.3 下载验证 19520.6 DMA存储器到外设模式实验 19520.6.1 硬件设计 19520.6.2 软件设计 19520.6.3 下载验证 199第21章 常用存储器介绍 20021.1 存储器种类 20021.2 RAM存储器 20021.2.1 DRAM 20121.2.2 SRAM 20221.2.3 DRAM与SRAM的应用场合 20221.3 非易失性存储器 20221.3.1 ROM存储器 20221.3.2 Flash存储器 203第22章 I2C——读写EEPROM 20522.1 I2C协议简介 20522.1.1 I2C物理层 20522.1.2 协议层 20622.2 STM32的I2C特性及架构 20922.2.1 STM32的I2C外设简介 20922.2.2 STM32的I2C架构剖析 21022.2.3 通信过程 21222.3 I2C初始化结构体详解 21322.4 I2C——读写EEPROM实验 21522.4.1 硬件设计 21522.4.2 软件设计 21622.4.3 下载验证 234第23章SPI——读写串行Flash 23523.1 SPI协议简介 23523.1.1 SPI物理层 23523.1.2 协议层 23623.2 STM32的SPI特性及架构 23823.2.1 STM32的SPI外设简介 23823.2.2 STM32的SPI架构剖析 23923.2.3 通信过程 24123.3 SPI初始化结构体详解 24223.4 SPI——读写串行Flash实验 24323.4.1 硬件设计 24323.4.2 软件设计 24423.4.3 下载验证 264第24章串行Flash文件系统FatFs 26524.1 文件系统 26524.2 FatFs文件系统简介 26624.2.1 FatFs的目录结构 26624.2.2 FatFs帮助文档 26624.2.3 FatFs源码 26724.3 FatFs文件系统移植实验 26824.3.1 FatFs程序结构图 26824.3.2 硬件设计 26924.3.3 FatFs移植步骤 26924.3.4 FatFs底层设备驱动函数 27124.3.5 FatFs功能配置 27624.3.6 FatFs功能测试 27724.3.7 下载验证 28024.4 FatFs功能使用实验 28124.4.1 硬件设计 28124.4.2 软件设计 28124.4.3 下载验证 286第25章FMC——扩展外部SDRAM 28725.1 SDRAM控制原理 28725.1.1 SDRAM信号线 28825.1.2 控制逻辑 28925.1.3 地址控制 28925.1.4 SDRAM的存储阵列 28925.1.5 数据输入输出 28925.1.6 SDRAM的命令 29025.1.7 SDRAM的初始化流程 29525.1.8 SDRAM的读写流程 29625.2 FMC简介 29725.3 FMC框图剖析 29825.4 FMC的地址映射 30025.5 SDRAM时序结构体 30225.6 SDRAM初始化结构体 30325.7 SDRAM命令结构体 30425.8 FMC——扩展外部SDRAM实验 30525.8.1 硬件设计 30525.8.2 软件设计 30525.8.3 下载验证 316第26章LTDC/DMA2D——液晶显示 31726.1 显示器简介 31726.1.1 液晶显示器 31726.1.2 LED和OLED显示器 31826.1.3 显示器的基本参数 31926.2 液晶屏控制原理 31926.2.1 液晶面板的控制信号 32026.2.2 液晶数据传输时序 32126.2.3 显存 32326.3 LTDC液晶控制器简介 32326.3.1 图像数据混合 32326.3.2 LTDC结构框图剖析 32426.4 DMA2D图形加速器简介 32726.5 LTDC初始化结构体 32926.6 LTDC层级初始化结构体 33126.7 DMA2D初始化结构体 33426.8 LTDC/DMA2D——液晶显示实验 33626.8.1 硬件设计 33626.8.2 软件设计 33826.8.3 下载验证 358第27章LTDC——液晶显示中英文 35927.1 字符编码 35927.1.1 ASCII编码 35927.1.2 中文编码 36227.1.3 Unicode字符集和编码 36527.1.4 UTF-32 36527.1.5 UTF-16 36527.1.6 UTF-8 36627.1.7 BOM 36727.2 字模简介 36727.2.1 字模的构成 36827.2.2 字模显示原理 36827.2.3 如何制作字模 37027.2.4 字模寻址公式 37127.2.5 存储字模文件 37227.3 LTDC——各种模式的液晶显示字符实验 37227.3.1 硬件设计 37327.3.2 显示ASCII编码的字符 37327.3.3 显示GB2312编码的字符 38227.3.4 显示任意大小的字符 39127.3.5 下载验证 398第28章电容触摸屏——触摸画板 39928.1 触摸屏简介 39928.1.1 电阻触摸屏检测原理 39928.1.2 电容触摸屏检测原理 40128.2 电容触摸屏控制芯片 40228.2.1 GT9157芯片的引脚 40328.2.2 上电时序与I2C设备地址 40428.2.3 寄存器配置 40428.2.4 读取坐标信息 40628.3 电容触摸屏——触摸画板实验 40828.3.1 硬件设计 40828.3.2 软件设计 40928.3.3 下载验证 430第29章ADC——电压采集 43129.1 ADC简介 43129.2 ADC功能框图剖析 43129.2.1 ADC功能 43129.2.2 电压转换 43729.3 ADC初始化结构体详解 43729.4 独立模式单通道采集实验 43829.4.1 硬件设计 43929.4.2 软件设计 43929.4.3 下载验证 44329.5 独立模式多通道采集实验 44329.5.1 硬件设计 44329.5.2 软件设计 44329.5.3 下载验证 44929.6 三重ADC交替模式采集实验 44929.6.1 硬件设计 44929.6.2 软件设计 45029.6.3 下载验证 455第30章TIM——基
【深度学习】
STM32库开发实战指南:基于STM32F4
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×