原副标题:画册所推荐 | ARM Cortex-M0+PDP控制系统基本原理及应用领域——STM32G071构架、应用软件和硬体应用软件系统(微课音频版)
竹杖芒鞋轻胜马,谁怕?一蓑烟雨任其文。
——唐代 · 白居易《部领 · 莫听穿林打叶声》
书目
第1章PDP控制系统设计专论
1.1中央处理器和PDP控制系统基本基本原理
1.1.1中央处理器的表述
1.1.2中央处理器构架
1.1.3中央处理器和中央处理器的差别
1.1.4中央处理器的主要就应用领域情景
1.1.5PDP控制系统基本基本原理
1.2 Cortex-M系列产品MCU进行分类和操控性
1.2.1 Cortex-M系列产品处理器IP核
1.2.2 STM32 Cortex-M系列产品MCU产品
1.2.3STM32G0系列产品MCU的结构和功能
第2章应用软件工具下载、安装和应用领域
2.1 STM32CubeMX工具的下载和安装
2.1.1 STM32CubeMX工具的下载
2.1.2 STM32CubeMX工具的安装
2.1.3STM32G0系列产品MCU支持包的安装
2.2 Keil μVision(ARM版本)工具的下载、安装和授权
2.2.1 Keil μVision内嵌编译工具链构架
2.2.2 Keil μVision(ARM版本)工具的下载和安装
2.2.3 Keil μVision(ARM版本)工具的授权
2.3设计实例:LED的驱动和控制
2.3.1生成简单的工程
2.3.2添加设计代码
2.3.3编译和下载设计
第3章Cortex-M0+处理器结构
3.1 Cortex-M0+处理器核和核心外设
3.1.1 Cortex-M0+处理器核
3.1.2控制系统级接口
3.1.3可配置的调试
3.1.4核心外设
3.2 Cortex-M0+处理器的寄存器
3.2.1通用寄存器
3.2.2堆栈指针
3.2.3程序计数器
3.2.4链接寄存器
3.2.5程序状态寄存器
3.2.6可中断重启指令
3.2.7异常屏蔽寄存器
3.2.8优先级屏蔽寄存器
3.2.9控制寄存器
3.3 Cortex-M0+存储器空间结构
3.3.1存储空间映射构架
3.3.2代码区域地址映射
3.3.3SRAM区域地址映射
3.3.4外设区域地址映射
3.3.5PPB地址空间映射
3.3.6SCS地址空间映射
3.3.7控制系统控制和ID寄存器
3.4Cortex-M0+的端及分配
3.5Cortex-M0+处理器异常及处理
3.5.1异常所处的状态
3.5.2异常类型
3.5.3异常优先级
3.5.4向量表
3.5.5异常的进入和返回
3.5.6NVIC中断寄存器集
3.5.7电平和脉冲中断
3.6Cortex-M0+存储器保护单元
3.6.1MPU寄存器
3.6.2MPU访问权限属性
3.6.3更新MPU区域
3.6.4子区域及用法
3.6.5MPU设计技巧和提示
第4章高级中央处理器总线结构
4.1ARM AMBA控制系统总线
4.2 AMBAAPB规范
4.2.1 AMBA APB写传输
4.2.2 AMBA APB读传输
4.2.3 AMBA APB错误响应
4.2.4 AMBA APB操作状态
4.2.5 AMBA3 APB信号
4.3 AMBA AHB规范
4.3.1 AMBA AHB结构
4.3.2 AMBA AHB操作
4.3.3 AMBA AHB传输类型
4.3.4 AMBA AHB猝发操作
4.3.5 AMBA AHB传输控制信号
4.3.6 AMBA AHB地址译码
4.3.7AMBA AHB从设备传输响应
4.3.8AMBA AHB数据总线
4.3.9AMBA AHB传输仲裁
4.3.10AMBA AHB分割传输
4.3.11 AMBA AHB复位
4.3.12 AMBA AHB总线数据宽度
4.3.13 AMBA AHB接口设备
第5章Cortex-M0+处理器指令集
5.1Thumb指令集
5.2 Keil MDK汇编语言指令格式要点
5.2.1汇编语言源代码中的文字
5.2.2汇编语言源代码行的语法
5.2.3汇编语言指令后缀的含义
5.3寄存器说明符的限制规则
5.3.1使用0b1111作为寄存器说明符的规则
5.3.2使用0b1101作为寄存器说明符的规则
5.4寄存器传输指令
5.5存储器加载和保存指令
5.5.1存储器加载指令
5.5.2存储器保存指令
5.6多数据加载和保存指令
5.6.1多数据加载指令
5.6.2多数据保存指令
5.7堆栈访问指令
5.8算术运算指令
5.8.1加法指令
5.8.2减法指令
5.8.3乘法指令
5.8.4比较指令
5.9逻辑操作指令
5.10移位操作指令
5.10.1右移指令
5.10.2左移指令
5.11反序操作指令
5.12扩展操作指令
5.13程序流控制指令
5.14存储器屏障指令
5.15异常相关指令
5.16休眠相关指令
5.17其他指令
第6章Cortex-M0+汇编语言编程基础
6.1汇编语言程序规范、构架和约束
6.1.1统一汇编语言规范
6.1.2ARM汇编语言模块构架
6.1.3标识符的命名规则
6.1.4调用子程序的寄存器使用规则
6.2表达式和操作符
6.2.1变量
6.2.2常量
6.2.3汇编时替换变量
6.2.4标号
6.2.5字符串表达式
6.2.6一元运算符
6.2.7二元运算符
6.2.8运算符的优先级
6.3常用汇编器命令
6.4STM32G0的向量表格式
6.5配置堆和堆栈
6.6设计实例一:汇编语言程序的分析和调试
6.6.1冒泡排序的基本思想
6.6.2冒泡排序算法的设计实现
6.6.3冒泡排序算法的调试
6.7设计实例二:GPIO的驱动和控制
6.7.1 STM32G071的GPIO基本原理
6.7.2所用寄存器的地址和功能
6.7.3GPIO驱动和控制的实现
6.8设计实例三:中断的控制和实现
6.8.1扩展中断和事件控制器基本原理
6.8.2所用寄存器的地址和功能
6.8.3向量表信息
6.8.4应用领域程序的设计
6.8.5程序代码的调试
第7章Cortex-M0+ C语言编程基础
7.1ARM C/C++编译器选项
7.1.1ARM C编译器的优化级别
7.1.2ARM Compiler 5的参数设置选项
7.2常量和变量
7.2.1常量
7.2.2变量
7.3数据类型
7.3.1Volatile关键字
7.3.2整数类型变量的声明和表示
7.3.3字符类型变量的声明和表示
7.3.4浮点类型变量的声明和表示
7.3.5复数类型变量的声明和表示
7.3.6布尔类型变量的声明和表示
7.3.7自表述数据类型的声明和表示
7.3.8变量的存储类型
7.3.9编译器指定的变量属性
7.4运算符
7.4.1赋值运算符
7.4.2算术运算符
7.4.3递增和递减运算符
7.4.4关系运算符
7.4.5逻辑运算符
7.4.6位运算符
7.4.7复合赋值运算符
7.4.8逗号运算符
7.4.9条件运算符
7.4.10强制类型转换符
7.4.11sizeof运算符
7.5描述语句
7.5.1输入和输出语句
7.5.2输入和输出重定向
7.5.3表达式语句
7.5.4条件语句
7.5.5开关语句
7.5.6循环语句
7.5.7返回语句
7.6数组
7.6.1一维数组的表示方法
7.6.2多维数组的表示方法
7.6.3索引数组元素的方法
7.6.4动态输入数组元素的方法
7.6.5矩阵运算算法的实现
7.7指针
7.7.1指针的概念
7.7.2指向指针的指针
7.7.3指针变量输入
7.7.4指针限定符restrict
7.8函数
7.8.1函数声明
7.8.2函数调用
7.8.3内联函数声明和调用
7.8.4递归函数的调用
7.8.5编译器指定的函数属性
7.8.6数组类型传递参数
7.8.7指针类型传递参数
7.8.8指针函数
7.8.9函数指针
7.9预编译指令
7.9.1宏表述
7.9.2文件包含
7.9.3条件编译
7.9.4编译指示
7.9.5其他预编译命令
7.10复杂数据结构
7.10.1结构
7.10.2联合
7.10.3枚举
7.11ARM C microlib库
7.11.1概述
7.11.2microlib和默认C库之间的区别
7.12C语言设计实例一:1602字符型LCD的驱动
7.12.11602字符型LCD的基本原理
7.12.21602字符型LCD的处理流程
7.12.31602字符型LCD和开发板的硬体连接
7.12.4程序代码的设计
7.13C语言设计实例二:中断控制与1602字符型LCD的交互
7.13.1程序代码的设计
7.13.2C语言中断程序的分析
第8章Cortex-M0+ C语言编程进阶
8.1内联汇编的格式和用法
8.2CMSIS应用软件构架
8.2.1引入CMSIS的必要性
8.2.2CMSIS的构架
8.2.3CMSIS的优势
8.2.4CMSIS的编程规则
8.2.5CMSIS应用软件包
8.2.6使用CMSIS访问不同资源
8.3设计实例一:内联汇编的设计与实现
8.3.1创建设计工程
8.3.2添加新的设计文件
8.3.3设计分析
8.4设计实例二:应用软件驱动的设计与实现
8.4.1创建HAL的设计实例
8.4.2创建LL的设计实例
第9章电源、时钟和复位基本原理及应用领域
9.1电源控制系统基本原理及功能
9.1.1电源控制系统框架
9.1.2电源监控
9.1.3低功耗模式
9.2RCC中的时钟管理功能
9.2.1RCC中的时钟源
9.2.2RCC中的时钟树结构
9.3RCC中的复位管理功能
9.3.1电源复位
9.3.2控制系统复位
9.3.3RTC域复位
9.4低功耗设计实例一:从停止模式唤醒MCU的实现
9.4.1设计策略和实现目标
9.4.2程序设计和实现
9.5低功耗设计实例二:定时器唤醒功耗分析
9.6低功耗设计实例三:运行模式和低功耗模式状态的显示
9.6.1第一种设计实现方法
9.6.2第二种设计实现方法
第10章看门狗基本原理及应用领域
10.1独立看门狗基本原理和功能
10.1.1IWDG的结构
10.1.2IWDG的工作基本原理
10.1.3IWDG时钟基准和超时的设置
10.2独立看门狗设计实例:实现与分析
10.2.1生成工程框架
10.2.2添加设计代码
10.2.3设计下载和分析
第11章定时器的基本原理及应用领域
11.1脉冲宽度调制的基本原理
11.2直流风扇的驱动基本原理
11.2.1直流风扇的规范和连线
11.2.2PWM速度控制功能
11.2.3脉冲传感器(转速输出类型)
11.3通用定时器的结构和主要就功能
11.3.1时基单元
11.3.2计数器模式
11.3.3时钟选择
11.3.4输入捕获模式
11.3.5PWM模式
11.3.6单脉冲模式
11.4直流风扇驱动和测速的设计与实现
11.4.1控制系统设计策略
11.4.2控制系统硬体连接
11.4.3应用领域程序的设计
第12章异步和同步串行接口的基本原理及应用领域
12.1低功耗通用异步收发器的基本原理
12.1.1模块结构
12.1.2接口信号
12.1.3数据格式
12.1.4FIFO模式
12.1.5单线半双工模式
12.1.6发送器基本原理
12.1.7接收器基本原理
12.1.8波特率发生器
12.1.9唤醒和中断事件
12.2设计实例:基于LPUART和红外接口的串行通信的实现
12.2.1红外串行通信设计思路
12.2.2串口的通信参数配置规则
12.2.3红外发射和接收电路的设计
12.2.4红外接口的基本原理
12.2.5信号的编码与解码
12.2.6红外通信控制系统的抗干扰设计
12.2.7发送端应用领域程序的设计与实现
12.2.8接收端应用领域程序的设计与实现
第13章人机交互游戏的设计与实现
13.1彩色触摸屏模块的信号表述
13.2 STM32G071 MCU对彩屏的访问控制
13.2.1 STM32G071 MCU提供给彩屏的写控制信号
13.2.2 STM32G071 MCU提供给触摸屏的读控制信号
13.2.3ILI9341读写命令/数据格式
13.3彩屏基本绘图流程
13.4贪吃蛇游戏的设计与实现
13.4.1设计前需要考虑的问题
13.4.2屏幕显示区域的划分
13.4.3图形显示模式的设计
13.4.4字符显示模式的设计
13.4.5外部按键的连接和功能
13.4.6游戏逻辑设计的关键问题
13.4.7寻径算法分析
13.4.8设计优化
购书链接