基于ARM Cortex-M3的STM32微控制器实战教程(第2版)
作者: 杨余柳
出版社:电子工业出版社 2017年09月
简介:
本书讲述了STM32的学习与开发知识,读者从无到有地学习一款芯片,不仅能够掌握学习芯片知识的方法,而且能够对嵌入式模块的开发有所了解。本书主要介绍Cortex-M3系列STM32的工作原理及应用。本书共20章,包括:嵌入式的基本概念;ARM的体系结构;本书所用开发板硬件介绍;系统时钟及汇编;GPIO控制LED实现;UART实验;ADC的应用;定时器的介绍;中断实验;STM32的功能模块及常用协议介绍;μC/OS-II操作系统基础及应用;项目管理及开发流程介绍;KEIL集成开发环境介绍及建立STM32项目模板。本书面向立志于ARM嵌入式开发的初学者,以及从单片机向ARM处理器转型的工程技术人员。本书可作为高校电子相关专业教材,也可以作为想从事嵌入式开发领域的高校毕业生的自学教材,还可作为目前正在做8/16位单片机开发并且想转做ARM芯片开发的工程师的参考手册。
【目录】
第1章ARM和嵌入式系统介绍
1.1ARM微处理器概述
1.1.1ARM简介
1.1.2ARM微处理器的应用领域及特点
1.1.3ARM微处理器系列
1.1.4ARM微处理器结构
1.1.5ARM微处理器的应用选型
1.2嵌入式系统的概念
1.2.1嵌入式系统定义
1.2.2嵌入式发展过程
1.3嵌入式操作系统
1.3.1概述
1.3.2操作系统
1.3.3实时操作系统(RTOS)
1.3.4通用型操作系统
1.3.5嵌入式常见的几个概念
1.3.6常见的嵌入式操作系统
第2章ARM体系结构
2.1ARM体系结构的特点
2.2各ARM体系结构版本
2.3Cortex-M3简介
2.4寄存器
2.5操作模式和特权级别
2.6内建的嵌套向量中断控制器
2.7存储器映射
2.8总线接口
2.9存储器保护单元(MPU)
2.10指令集
2.11中断和异常
第3章Cortex-M3控制器及外围硬件简介
3.1STM32简介
3.2STM32F103RBT6特性
3.3订购信息
3.4STM32系列内部结构方框图
3.5外围硬件介绍
第4章指令集和时钟
4.1Thumb-2指令集介绍
4.2指令格式
4.3Cortex-M3时钟控制
第5章GPIO实验
5.1GPIO简介
5.2GPIO功能特点
5.3与GPIO相关的寄存器
5.4原理图
5.5GPIO配置过程
5.6GPIO实验范例
5.7作业
第6章UART实验
6.1UART简介
6.2UART特性
6.3串口如何工作
6.4与UART相关寄存器
6.4.1状态寄存器(USART_SR)
6.4.2数据寄存器(USART_DR)
6.4.3波特比率寄存器(USART_BRR)
6.4.4控制寄存器1(USART_CR1)
6.4.5控制寄存器2(USART_CR2)
6.4.6控制寄存器3(USART_CR3)
6.4.7保护时间和预分频寄存器(USART_GTPR)
6.5硬件连接
6.6程序编程步骤
6.7范例程序
6.8作业
第7章模/数转换
7.1A/D简介
7.2A/D的主要参数
7.3STM32系列A/D转换特点
7.4与A/D相关的寄存器
7.4.1ADC状态寄存器(ADC_SR)
7.4.2ADC控制寄存器1(ADC_CR1)
7.4.3ADC控制寄存器2(ADC_CR2)
7.4.4ADC采样时间寄存器1(ADC_SMPR1)
7.4.5ADC采样时间寄存器2(ADC_SMPR2)
7.4.6ADC注入通道数据偏移寄存器x (ADC_JOFRx)(x=1,…,4)
7.4.7ADC看门狗高阈值寄存器(ADC_HTR)
7.4.8ADC看门狗低阈值寄存器(ADC_LRT)
7.4.9ADC规则序列寄存器1(ADC_SQR1)
7.4.10ADC规则序列寄存器2(ADC_SQR2)
7.4.11ADC规则序列寄存器3(ADC_SQR3)
7.4.12ADC注入序列寄存器(ADC_JSQR)
7.4.13ADC 注入数据寄存器x(ADC_JDRx) (x=1,…,4)
7.4.14ADC规则数据寄存器(ADC_DR)
7.5硬件连接
7.6范例程序
第8章定时器实验
8.1通用定时器简介
8.2STM32系列通用定时器特点
8.3与基本定时器相关的寄存器
8.4范例程序
8.5作业
第9章中断实验
9.1中断简介
9.2STM32中断特性
9.3中断向量表
9.4范例程序
9.5作业
第10章RTC实验
10.1STM32系列RTC特点
10.2与RTC相关的寄存器
10.3范例程序
10.4作业
第11章IIC实验
11.1STM32系列IIC特点
11.2与IIC相关的寄存器
11.3范例程序
第12章看门狗实验
12.1STM32系列IWDG特点
12.2与IWDG相关的寄存器
12.3范例程序
12.3.1独立看门狗程序
12.3.2窗口看门狗程序
第13章SPI实验
13.1SPI简介
13.2SPI特点
13.3与SPI相关的寄存器
13.4范例程序
第14章CAN BUS实验
14.1CAN简介
14.2bxCAN主要特点
14.3CAN相关的寄存器
14.4范例程序
第15章协处理器DMA
15.1DMA简介
15.2DMA控制器的功能特点
15.3DMA相关控制模块
第16章USB
16.1USB外设特点
16.2USB硬件分析
第17章μC/OS-II操作系统基础
17.1为什么要用操作系统
17.2初识μC/OS-II
17.3μC/OS-II基础知识
17.3.1任务的概念
17.3.2任务的状态
17.3.3系统调度和任务切换
17.3.4任务的分类
17.3.5任务间同步与通信
17.4μC/OS-II移植
17.5μC/OS-II系统源码
17.5.1uc/OS系统核心文件(跟硬件无关)
17.5.2和CPU相关的文件
17.5.3头文件组成
17.6μC/OS-II裁剪
第18章μC/OS-II应用
18.1任务管理
18.2时间管理
18.3任务间通信
18.3.1信号量
18.3.2消息邮箱
18.3.3消息队列
18.3.4互斥型信号量
18.3.5事件标志组
18.4软件定时器
18.5内存管理
18.6临界区处理宏
18.7其他函数
第19章项目实战
19.1项目管理知识
19.2C语言编程规范
19.2.1编程总原则
19.2.2编程举例
19.2.3注释
19.2.4变量命名
19.2.5编辑风格
19.3ARM项目范例讲解
第20章KEIL集成开发环境介绍及应用
参考文献