《ARM Cortex-M3体系结构与编程》系统论述了嵌入式微处理器ARM Cortex-M3(STM32)的原理、架构、编程与项目开发。全书从最基本的I/O端口配置讲起,依次介绍了中断、串口通信、A/D转换、定时器、CAN总线等基本功能,然后详尽介绍了几类典型的实际嵌入式系统项目的开发。全书给出了作者近年设计的5个实际项目:倒立摆设计;能车设计;平衡车设计;电子秤设计;井下通信分站设计。这些项目都提供了全部源代码,可直接拿来二次开发,用于课程设计或科研项目。本书配套提供了全部设计源代码、设计图纸及演示视频,方便读者学习使用。本书配有基础的项目开发板;并提供学习交流QQ群,欢迎读者参与进来,和广大的STM32爱好者共同学习,及时解决设计中遇到的问题。
第1章 ARM Cortex-M3核介绍
1.1 Cortex-M3主要特性
1.2 典型M3核处理器特性
1.2.1 命令规则
1.2.2 产品功能和外设配置
1.3 习题
第2章 开发环境搭建
2.1 MDK安装
2.2 新建工程
2.3 采用ST-Link调试仿真代码
2.4 习题
第3章 基本I/O端口控制
3.1 MDK新建工程
3.2 MDK工程配置
3.3 库函数操作代码分析
3.4 时钟配置
3.4.1 时钟树
3.4.2 时钟源
3.4.3 APB2外设时钟使能寄存器(RCC_APB2ENR)
3.5 I/O端口配置
3.5.1 I/O基本情况
3.5.2 GPIO配置寄存器描述
3.5.3 端口输出数据寄存器(GPIOx_ODR) (x= A…E)
3.6 用库函数操作流水灯
3.6.1 GPIO_Init函数
3.6.2 RCC_APB2PeriphClockCmd
3.6.3 控制I/O输出电平
3.6.4 LED.h文件
3.6.5 软件调试易现问题
3.7 使用库函数法控制数码管
3.7.1 数码管基础知识
3.7.2 硬件电路设计
3.7.3 软件说明
3.8 简单按键输入
3.9 习题
第4章 中断
4.1 STM32中断和异常
4.2 STM32中断相关的基本概念
4.2.1 优先级
4.2.2 中断控制器NVIC
4.2.3 NVIC的优先级组
4.3 外部中断
4.3.1 外部中断基本情况
4.3.2 使用外部中断的基本步骤
4.4 习题
第5章 串口通信
5.1 串口通信基础
5.1.1 基本概念
5.1.2 常用的串行通信接口
5.1.3 应用串行通信的数据采集结构
5.2 STM32串口操作
5.2.1 寄存器方式操作串口
5.2.2 库函数方式操作串口
5.3 习题
第6章 直接寄存器访问(DMA)
6.1 DMA基础知识
6.2 STM32的DMA操作
6.2.1 寄存器方式操作DMA
第7章 模拟数字转换(ADC)
第8章 定时器
第9章 CAN总线设计
第10章 倒立摆设计
第11章 智能小车设计
第12章 平衡车设计
第13章 电子秤设计
第14章 井下通信分站设计
参考文献