尚硅谷_嵌入式STM32单片机

雅隽尚硅谷 2024-07-02 11:58:33

-------------------------------------------

教程简介:

在万物互联的数字时代,嵌入式设备发挥着越来越重要的作用,嵌入式开发获得了更多人的关注。在嵌入式开发领域,STM32系列MCU以其高性价比、丰富的外设和易用的工具备受青睐,在物联网、工业控制、消费电子、医疗设备、监控等领域广为应用。

尚硅谷精心打造的STM32教程,对STM32的原理和应用做了细致的讲解,教程与尚硅谷自研的STM32开发板配合使用(可以在淘宝搜尚硅谷店铺购买),囊括了大量的应用案例和课堂练习,并对寄存器和HAL库两种开发方式都做了详细的介绍。

教程分为基础篇和进阶篇两大部分,基础篇介绍了基本概念和原理,掌握常用开发工具,初步上手进行STM32的开发设计,内容包括:STM32简介、开发板简介、快速上手案例、GPIO、总体结构和时钟系统、中断系统、USART串口通讯和I2C通讯;进阶篇对STM32中更多外设做了详细介绍,涉及到了更深入的原理和更加丰富的应用场景,内容包括:定时器、DMA、ADC、SPI通信、存储器寄存器、FSMC和LCD显示。

教程学习需具备数电、模电和计算机基本原理基础,适合想要学习单片机知识的初学者,同时也适合具备单片机开发经验,想要掌握STM32开发的嵌入式开发人员。

-------------------------------------------

教程目录:

001.STM32课程简介

002.概述_ARM内核简介

003.概述_STM32简介

004.概述_STM32应用场景

005.概述_STM32命名规范

006.概述_STM32开发方式

007.概述_STM32开发工具的选择

008.概述_Keil MDK下载和安装

009.开发板_实物图和原理图

010.开发板_STM32最小系统

011.开发板_STM32开发板快速验证

012.点灯案例_工程创建

013.点灯案例_编译配置

014.点灯案例_寄存器代码实现

015.点灯案例_复习回顾和扩展练习_点亮三灯

016.点灯案例_优化(一)_使用宏定义的寄存器名称

017.点灯案例_优化(二)_使用位运算操作

018.点灯案例_优化(三)_使用宏定义表示对应位

019.GPIO_概述

020.GPIO_工作模式_推挽输出和开漏输出

021.GPIO_工作模式_问题解答_数据传输方向

022.GPIO_工作模式_复用输出

023.GPIO_工作模式_输入模式

024.GPIO_寄存器

025.GPIO_Keil+VSCode优化开发体验

026.GPIO_流水灯案例_代码基本实现

027.GPIO_流水灯案例_代码改进实现

028.GPIO_课堂练习_往返流水灯

029.STM32系统架构

030.STM32时钟系统

031.STM32各时钟用途总结

032.HAL库_简介

033.HAL库_STM32CubeMX安装

034.HAL库_流水灯案例_HAL库工程创建

035.HAL库_流水灯案例_HAL库代码实现

036.HAL库_系统时钟配置的源码解析

037.软件常见问题解答

038.课堂练习_依次开关灯

039.中断系统_基本概念

040.中断系统_中断的作用

041.中断系统_STM32的中断

042.中断系统_中断体系架构

043.中断系统_NVIC

044.中断系统_中断优先级底层原理和配置

045.中断系统_EXTI原理和寄存器

046.中断系统_按键中断案例_需求分析和电路原理

047.中断系统_复习回顾

048.中断系统_按键中断案例_寄存器介绍

049.中断系统_按键中断案例_寄存器方式实现

050.中断系统_按键中断案例_HAL库方式实现

051.中断系统_课堂练习_按键开关灯

052.中断系统_课堂练习_按键开关流水灯

053.中断系统_课堂练习_按键手动流水灯

054.USART_串行和并行通讯

055.USART_单工半双工全双工

056.USART_同步和异步

057.USART_串口通讯协议

058.USART_USART外设基本介绍

059.USART_功能框图原理介绍

060.USART_波特率的设置

061.USART_串口通讯案例_电路原理和寄存器介绍

062.USART_串口通讯案例_轮询方式寄存器实现_初始化

063.USART_串口通讯案例_轮询方式寄存器实现_收发单个字符

064.USART_串口通讯案例_轮询方式寄存器实现_发送字符串

065.USART_串口通讯案例_轮询方式寄存器实现_接收字符串

066.USART_串口发送数据案例_寄存器轮询方式_代码改进

067.USART_问题解答_状态位的置位和清除

068.USART_串口发送数据案例_寄存器中断方式

069.USART_问题解答_字符串结束标志的判断

070.USART_串口发送数据案例_HAL库轮询方式_定长数据的收发

071.USART_串口发送数据案例_HAL库轮询方式_变长数据的收发

072.USART_串口发送数据案例_HAL库中断方式

073.使用Keil进行断点调试

074.USART_使用串口进行printf重定向_寄存器实现

075.USART_使用串口进行printf重定向_HAL库实现

076.基础知识复习回顾

077.I2C_底层原理和协议

078.I2C_软件模拟I2C案例_需求描述和硬件电路设计

079.I2C_软件模拟I2C案例_M24C02地址介绍

080.I2C_软件模拟I2C案例_时序图整理

081.I2C_软件模拟I2C案例_工程创建和基本宏定义

082.I2C_问题解答_EEPROM读写操作时序

083.I2C_软件模拟I2C案例_I2C基本时序定义

084.I2C_软件模拟I2C案例_I2C主机发送一个字节

085.I2C_软件模拟I2C案例_I2C主机读取一个字节

086.I2C_软件模拟I2C案例_EEPROM读写一个字节

087.I2C_软件模拟I2C案例_EEPROM连续读写多个字节

088.I2C_软件模拟I2C案例_主函数测试

089.I2C_I2C原理复习总结

090.I2C_STM32中的I2C外设原理框图

091.I2C_I2C外设寄存器(一)_基本配置

092.I2C_I2C外设寄存器(二)_I2C协议控制

093.I2C_硬件实现I2C案例_工程创建和I2C初始化

094.I2C_硬件实现I2C案例_I2C协议实现(一)_基本操作

095.I2C_硬件实现I2C案例_I2C协议实现(二)_收发地址和数据

096.I2C_硬件实现I2C案例_EEPROM接口实现和测试

097.I2C_硬件实现I2C案例_HAL方式实现

098.综合案例_花式流水灯_需求分析和实现思路

099.综合案例_花式流水灯_串口下发方案和保存

100.综合案例_花式流水灯_流水灯方案的解析和显示

101.定时器_STM32中的定时器整体介绍

102.定时器_系统嘀嗒定时器

103.定时器_系统嘀嗒定时器_寄存器介绍

104.定时器_系统嘀嗒定时器案例_寄存器实现

105.定时器_系统嘀嗒定时器案例_HAL库实现

106.定时器_系统嘀嗒定时器_延时函数工具类

107.定时器_基本定时器_基本组成和原理

108.定时器_基本定时器案例_寄存器介绍

109.定时器_基本定时器案例_寄存器实现

110.定时器_基本定时器案例_HAL库实现

111.定时器_课堂练习_定时器控制双灯闪烁

112.定时器_通用定时器_基本介绍和时钟源选择

113.定时器_通用定时器_计数模式

114.定时器_通用定时器_PWM原理

115.定时器_通用定时器_输出比较原理和工作模式

116.定时器_输出PWM案例_寄存器介绍

117.定时器_输出PWM案例_寄存器实现

118.定时器_输出PWM案例_HAL库实现

119.定时器_课堂练习_交替呼吸灯

120.定时器_课堂练习_按键调节LCD背光亮度

121.定时器_通用定时器_输入捕获功能

122.定时器_测量周期案例_电路原理和寄存器介绍

123.定时器_测量周期案例_寄存器方式_定时器初始化

124.定时器_测量周期案例_寄存器方式_检测周期和频率

125.定时器_测量周期案例_寄存器方式_代码优化

126.定时器_测量周期案例_HAL库方式

127.定时器_通用定时器_触发输出和从模式

128.定时器_通用定时器_PWM输入模式

129.定时器_课堂练习_测量不同频率的PWM方波

130.定时器_复习回顾_从模式和PWM输入模式

131.定时器_测量占空比案例_寄存器介绍

132.定时器_测量占空比案例_寄存器方式实现

133.定时器_测量占空比案例_HAL库方式实现

134.定时器_高级定时器_功能框图和原理介绍

135.定时器_高级定时器案例_寄存器介绍

136.定时器_高级定时器案例_寄存器方式实现

137.定时器_高级定时器案例_HAL库方式实现

138.定时器_复习回顾_定时器总结

139.DMA_基本原理和功能框图

140.DMA_寄存器介绍

141.DMA案例1_ROM到RAM_寄存器实现

142.DMA案例1_ROM到RAM_HAL库实现

143.DMA案例2_RAM到串口_寄存器实现

144.DMA案例2_RAM到串口_HAL库实现

145.DMA_复习回顾

146.ADC_基本原理和基本参数

147.ADC_STM32的ADC模块基本介绍

148.ADC_逐次逼近型ADC工作原理

149.ADC_ADC外设工作原理

150.ADC_寄存器介绍

151.ADC_单通道转换案例_寄存器方式

152.ADC_单通道转换案例_HAL库方式

153.ADC_ADC框图和寄存器复习回顾

154.ADC_多通道转换案例_寄存器方式

155.ADC_多通道转换案例_HAL库方式

156.SPI_SPI通信介绍

157.SPI_W25Q32芯片介绍和读写操作

158.SPI_读写Flash案例_软件模拟实现(一)_SPI通信协议

159.SPI_读写Flash案例_软件模拟实现(二)_Flash接口声明和读取ID测试

160.SPI_读写Flash案例_软件模拟实现(三)_读写Flash

161.SPI_读写Flash案例_代码地址问题解答

162.SPI_STM32的SPI外设

163.SPI_SPI模块寄存器介绍

164.SPI_读写Flash案例_硬件实现_寄存器方式

165.SPI_读写Flash案例_硬件实现_HAL库方式

166.存储器和寄存器_存储器基本介绍和分类

167.存储器和寄存器_不同类型存储器介绍

168.存储器和寄存器_STM32的存储器映射

169.存储器和寄存器_寄存器的本质和地址映射

170.课堂练习_向Flash写入大量字符

171.FSMC_基本原理和组成

172.FSMC_外部设备地址映射

173.FSMC_控制外部存储器的读写时序

174.FSMC_SRAM芯片IS62WV51216

175.FSMC_扩展SRAM案例_硬件电路和寄存器介绍

176.FSMC_扩展SRAM案例_寄存器实现

177.FSMC_复习总结和扩展

178.FSMC_扩展SRAM案例_HAL库实现

179.LCD_原理和接口类型

180.LCD_液晶控制器以及系统组成

181.LCD_FSMC控制LCD显示案例_硬件电路设计

182.LCD_FSMC控制LCD显示案例_FSMC的寻址

183.LCD_FSMC控制LCD显示案例_FSMC配置

184.LCD_FSMC控制LCD显示案例_LCD宏定义和底层操作接口

185.LCD_FSMC控制LCD显示案例_读取LCD模块ID

186.LCD_FSMC控制LCD显示案例_设置全屏背景色

187.LCD_复习回顾

188.LCD_FSMC控制LCD显示案例_显示英文字符

189.LCD_FSMC控制LCD显示案例_显示字符串

190.FSMC控制LCD显示案例_显示汉字

191.FSMC控制LCD显示案例_显示图片

192.LCD_FSMC控制LCD显示案例_画点线长方形

193.FSMC控制LCD显示案例_画圆

194.FSMC控制LCD显示案例_HAL库实现

0 阅读:0