基于STM32的嵌入式系统设计与实践
作者: 钟佩思
出版社:电子工业出版社 2021-02-01
简介:本书基于STM32F103基本型微控制器,由浅入深地介绍了STM32嵌入式系统设计的基本流程与应用要点,系统讲解了每一个外设的功能及其使用方法,使读者能够轻松掌握STM32嵌入式系统设计与实践中的各种硬件和软件设计知识。全书分为四部分:*部分为入门篇,讲解了STM32微控制器整体架构和软件设计方法;第二部分为基础篇,针对系统设计基础知识和基本外设的应用进行了讲解;第三部分为提高篇,对数据处理、总线接口和通信技术进行了讲解;第四部分为综合篇,通过4个综合设计实例来巩固前9章所介绍的知识。【目录】入 门 篇 第1章 嵌入式系统与STM32微控制器 1.1 嵌入式系统 1.1.1 嵌入式系统概述 1.1.2 嵌入式系统的发展与应用领域 1.2 STM32微控制器 1.2.1 STM32微控制器的诞生 1.2.2 STM32微控制器的分类、命名规则与选型 1.3 STM32寄存器简介 1.3.1 STM32芯片的结构 1.3.2 从存储区映射到寄存器 1.3.3 寄存器的封装与读/写操作 第2章 STM32标准库函数 2.1 库函数开发概述 2.1.1 STM32标准函数库概述 2.1.2 库函数开发的优势 2.2 库文件及其层次关系 2.2.1 CMSIS标准软件架构 2.2.2 库目录和文件简介 2.2.3 如何使用官方资料 第3章 STM32开发工具概述 3.1 多种多样的开发工具 3.1.1 开发工具的类别与选择 3.1.2 Keil MDK的性能优势 3.2 Keil MDK的安装与使用 3.2.1 如何安装Keil MDK 3.2.2 创建库函数工程模板 3.2.3 Keil MDK软件仿真 3.3 STM32的程序下载 3.3.1 利用串口下载程序 3.3.2 JTAG/SWD程序下载与调试 基 础 篇 第4章 嵌入式系统设计基础 4.1 C语言的基本应用 4.1.1 面向STM32的基本操作 4.1.2 结构体的使用解析 4.2 STM32基础知识储备 4.2.1 端口复用和重映射功能 4.2.2 嵌套向量中断控制器简介 4.2.3 时钟系统与RCC控制器 第5章 GPIO端口与外部中断 5.1 STM32的GPIO端口 5.1.1 GPIO端口功能与结构 5.1.2 GPIO工作模式详解 5.1.3 GPIO库函数及其应用 5.2 外部中断/事件控制器 5.2.1 EXTI的结构与功能 5.2.2 EXTI相关寄存器概述 5.2.3 EXTI相关库函数简介 5.3 GPIO与外部中断控制实践 5.3.1 通用文件的编写与使用 5.3.2 GPIO端口输出点亮LED 5.3.3 GPIO端口输入检测按键 5.3.4 EXTI外部中断控制 第6章 STM32定时器/计数器 6.1 STM32定时器/计数器概述 6.1.1 TIMx定时器内容解析 6.1.2 RTC定时器的功能与操作 6.1.3 SysTick时钟功能介绍 6.1.4 看门狗定时器基本操作 6.2 定时器库函数及其应用 6.2.1 TIMx定时器相关函数 6.2.2 RTC与BKP相关函数 6.2.3 SysTick定时器相关函数 6.2.4 看门狗定时器相关函数 6.3 定时器系统设计与实践 6.3.1 SysTick定时器实现精准延时 6.3.2 看门狗定时器应用 6.3.3 定时器中断应用 6.3.4 PWM信号的产生 第7章 USART串口通信技术 7.1 通信的基本概念详解 7.1.1 通信的分类与概念 7.1.2 串口通信协议解析 7.2 USART串口通信概述 7.2.1 USART的主要功能与硬件结构 7.2.2 USART寄存器及其使用 7.2.3 USART相关库函数简介 7.3 串口通信编程应用实例 7.3.1 串口通信的应用基础 7.3.2 通过USART1接发通信 提 高 篇 第8章 数据的转换与读/写访问 8.1 FSMC模块应用解析 8.1.1 FSMC的主要功能、结构与总线配置 8.1.2 FSMC相关库函数概述 8.1.3 FSMC驱动TFTLCD 8.2 ADC的编程应用 8.2.1 ADC的主要操作与特征 8.2.2 ADC相关库函数概述 8.2.3 ADC的编程应用实例 8.3 DAC的编程应用 8.3.1 DAC的主要操作与特征 8.3.2 DAC相关库函数概述 8.3.3 DAC的转换编程应用实例 8.4 DMA数据访问与传输 8.4.1 DMA结构与数据配置 8.4.2 DMA控制器相关库函数 8.4.3 DMA数据传输实例 8.5 嵌入式FLASH的读/写操作 8.5.1 STM32的FLASH存储器 8.5.2 FLASH相关库函数简介 8.5.3 嵌入式FLASH的读/写操作实例 第9章 总线接口与通信技术 9.1 I2C总线的设计与使用 9.1.1 I2C的功能结构与特征 9.1.2 I2C相关库函数简介 9.1.3 利用I2C实现读/写操作 9.2 SPI串行外设接口技术 9.2.1 SPI与I2S的结构与功能 9.2.2 SPI/I2S相关库函数简介 9.2.3 SPI读/写串行FLASH 9.3 CAN总线的编程与使用 9.3.1 CAN总线的结构与功能 9.3.2 CAN相关库函数解析 9.3.3 CAN总线通信编程实现 9.4 SDIO接口编程应用解析 9.4.1 SDIO接口与Micro SD卡 9.4.2 SDIO相关库函数概述 9.4.3 Micro SD卡操作实践 综 合 篇 第10章 嵌入式系统综合设计实例 10.1 USB读卡器设计实例 10.1.1 USB标准及结构简介 10.1.2 USB读卡器硬件设计 10.1.3 USB读卡器编程实现 10.2 摄像头应用设计实例 10.2.1 摄像头硬件简介 10.2.2 摄像头应用硬件设计 10.2.3 摄像头应用编程实现 10.3 音乐播放器设计实例 10.3.1 音频解码芯片简介 10.3.2 音乐播放器硬件设计 10.3.3 音乐播放器编程实现 10.4 无线通信设计实例 10.4.1 无线通信模块简介 10.4.2 无线通信硬件设计 10.4.3 无线通信编程实现 附录A STM32F103ZET6芯片的引脚功能定义 参考文献