目录 第一篇实验硬件 第1章STM32单片机概述 1.1STM32单片机 1.2STM32单片机命名规则 1.3STM32F1系列单片机 1.4STM32F103C8T6单片机 1.4.1引脚定义 1.4.2片内资源 1.4.3启动模式 1.5STM32单片机最小系统构成 1.5.1电源电路 1.5.2复位电路 1.5.3时钟电路 1.5.4启动模式电路 1.5.5编程接口电路 1.6本章小结 第2章STM32单片机实验硬件平台 2.1实验硬件平台概述 2.2最小系统硬件电路 2.2.1电源电路 2.2.2复位电路 2.2.3时钟电路 2.2.4启动模式电路 2.2.5编程接口电路 2.3实验项目硬件电路 2.3.1LED灯驱动电路 2.3.2按键驱动电路 2.3.3UART串行通信电路 2.3.4I2C接口E2PROM电路 2.3.5SPI接口E2PROM电路 2.3.6DS18B20温度采集电路 2.3.7红外传感器接收电路 2.3.8ADC采样与热敏电阻测温电路 2.3.9nRF24L01无线通信接口电路 2.3.10I/O引脚外接扩展接口电路 2.3.11外扩电源接口电路 2.4STM32F103C8T6单片机引脚连接电路 2.5本章小结 第二篇实验基础 第3章STM32单片机开发环境创建 3.1MDKARM简介 3.2MDKARM安装 3.3芯片支持包安装 3.3.1在线安装 3.3.2离线安装 3.4本章小结 第4章STM32单片机开发工具 4.1仿真调试工具 4.1.1JLink仿真器 4.1.2CMSISDAP仿真器 4.1.3ULink仿真器 4.1.4STLink仿真器 4.2ISP串行编程工具 4.2.1FlyMcu编程客户端 4.2.2STM32CubeProgrammer编程客户端 4.3串口通信调试工具 4.4本章小结 第5章STM32单片机编程基础 5.1C语言关键字 5.2支持数据类型 5.3常用布尔型变量 5.4C语言编程基础 5.4.1位运算 5.4.2逻辑运算 5.4.3宏定义 5.4.4条件编译 5.4.5结构体 5.4.6类型定义 5.4.7外部变量声明 5.5本章小结 第6章STM32F10x固件库概述 6.1固件库概述 6.1.1寄存器程序开发 6.1.2固件库程序开发 6.2CMSIS概述 6.3STM32F10x固件库 6.3.1STM32F10x固件库概述 6.3.2STM32F10x固件库介绍 6.3.3STM32F10x固件库使用说明 6.4固件库应用程序开发说明 6.4.1外设驱动库资源启用 6.4.2目标芯片类型指定 6.4.3外设驱动库函数命名规则 6.5启动文件说明 6.6系统时钟初始化 6.7本章小结 第7章固件库工程项目模板构建 7.1工程项目文件夹创建 7.2工程项目驱动库文件移植 7.3创建MDK工程项目模板 7.4本章小结 第8章应用项目创建与仿真调试 8.1基于模板的应用项目创建 8.2程序仿真调试与编程下载 8.2.1仿真工具参数配置 8.2.2应用程序在线调试 8.2.3应用程序编程下载 8.2.4软件模拟仿真调试 8.3程序ISP下载 8.3.1USB转串口驱动安装 8.3.2ISP下载设置与操作 8.4MDK5编程应用技巧 8.4.1编辑窗口文本美化 8.4.2语法检测与代码提示 8.4.3代码编辑技巧 8.4.4其他操作技巧 8.5本章小结 第三篇实验实战 第9章系统时钟配置与时钟输出实验 9.1实验背景 9.2实验原理 9.2.1时钟输出MCO 9.2.2系统时钟构成 9.2.3RCC库函数 9.3实验内容 9.3.1实验内容一 9.3.2实验内容二 9.3.3实验内容三 9.4本章小结 第10章系统定时器SysTick实验 10.1实验背景 10.2实验原理 10.3实验内容 10.3.1实验内容一 10.3.2实验内容二 10.4本章小结 第11章GPIO控制实验 11.1实验背景 11.2实验原理 11.2.1GPIO输入/输出工作模式 11.2.2GPIO寄存器 11.2.3GPIO端口存储器映射 11.2.4GPIO库函数 11.2.5LED接口电路原理图 11.3实验内容 11.3.1实验内容一 11.3.2实验内容二 11.3.3实验内容三 11.4本章小结 第12章EXTI外部中断实验 12.1实验背景 12.2实验原理 12.2.1中断系统结构 12.2.2片外中断与中断线映射 12.2.3EXTI配置 12.2.4NVIC配置 12.2.5中断向量表及中断通道号 12.3实验内容 12.4本章小结 第13章USART通信实验 13.1实验背景 13.2实验原理 13.2.1功能引脚复用 13.2.2串行通信连接方式 13.2.3数据收发控制 13.2.4奇偶校验与硬件流控制 13.2.5USART库函数 13.2.6实验开发板USART通信电路连接 13.3实验内容 13.3.1实验内容一 13.3.2实验内容二 13.3.3实验内容三 13.3.4实验内容四 13.3.5实验内容五 13.3.6实验内容六 13.4本章小结 第14章通用定时器定时实验 14.1实验背景 14.2实验原理 14.2.1定时时钟源选择 14.2.2时基单元 14.2.3计数模式选择 14.2.4定时时间计算 14.2.5TIMx库函数 14.3实验内容 14.3.1实验内容一 14.3.2实验内容二 14.3.3实验内容三 14.4本章小结 第15章通用定时器比较输出实验 15.1实验背景 15.2实验原理 15.2.1定时比较输出硬件结构 15.2.2定时比较输出工作模式 15.5.3定时比较输出库函数 15.3实验内容 15.3.1实验内容一 15.3.2实验内容二 15.3.3实验内容三 15.3.4实验内容四 15.3.5实验内容五 15.4本章小结 第16章串口时钟实验 16.1实验背景 16.2实验原理 16.3实验内容 16.4本章小结 第17章I2C串行通信实验 17.1实验背景 17.2实验原理 17.2.1I2C总线结构 17.2.2I2C总线信号时序 17.2.3I2C总线数据传输 17.2.4STM32片上I2C特性 17.2.5I2C固件库函数 17.2.6AT24C02接口电路 17.2.7AT24CXX读写操作 17.3实验内容 17.3.1实验内容一 17.3.2实验内容二 17.4本章小结 第18章DMA数据传输实验 18.1实验背景 18.2实验原理 18.2.1DMA传输配置 18.2.2DMA存储器映射 18.2.3DMA库函数 18.3实验内容 18.3.1实验内容一 18.3.2实验内容二 18.3.3实验内容三 18.4本章小结 第19章模/数转换实验 19.1实验背景 19.2实验原理 19.2.1ADC电气特性与模拟输入通道 19.2.2ADC硬件结构及工作原理 19.2.3ADC转换时钟及转换时间 19.2.4ADC转换分组 19.2.5ADC转换模式 19.2.6ADC端口存储器映射 19.2.7ADC库函数 19.2.8ADC模拟通道电路 19.3实验内容 19.3.1实验内容一 19.3.2实验内容二 19.3.3实验内容三 19.3.4实验内容四 19.3.5实验内容五 19.3.6实验内容六 19.3.7实验内容七 19.3.8实验内容八 19.4本章小结 参考文献