尚硅谷嵌入式技术之STM32单片机视频教程 基础版+高级版

来源官方

尚硅谷嵌入式技术之STM32单片机视频教程

在万物互联的数字时代,嵌入式设备发挥着越来越重要的作用,嵌入式开发获得了更多人的关注。在嵌入式开发领域,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库实现

物联网IoT开发实战,尚硅谷STM32教程高级篇来啦!内容囊括:各种主流的网络通讯方式,涵盖有线和无线多种组网形式,涉及广泛的背景知识和芯片扩展,讲解了CAN总线、以太网、Wi-Fi、蓝牙、LoRa等知识点。

教程的扩展篇针对STM32系统模块做了详细介绍,深入原理和综合应用场景,包括电源管理(低功耗)、RTC、BKP、看门狗等。

本套教程配合专用开发板,采用了大量应用案例和课堂练习,同时对寄存器和HAL库两种开发方式进行了讲解,内容深入底层的寄存器及源码。

高级版教程目录:

001_STM32开发高级篇_整体介绍

002_CAN通讯_产生背景和基本介绍

003_CAN通讯_物理层介绍

004_CAN通讯_协议层_报文类型

005_CAN通讯_协议层_数据帧和远程帧

006_CAN通讯_协议层_总线仲裁

007_CAN通讯_协议层_位时序

008_CAN通讯_协议层_位填充

009_CAN通讯_STM32的CAN外设_整体介绍

010_CAN通讯_STM32的CAN外设_三种工作模式

011_CAN通讯_STM32的CAN外设_三种测试模式

012_CAN通讯_STM32的CAN外设_功能框图

013_CAN通讯_STM32的CAN外设_过滤器介绍

014_CAN通讯_STM32的CAN外设_位时序

015_CAN通讯案例一_环回静默模式测试_需求分析和初始化寄存器介绍

016_CAN通讯案例一_环回静默模式测试_CAN初始化实现

017_CAN通讯案例一_环回静默模式测试_发送邮箱寄存器介绍

018_CAN通讯案例一_环回静默模式测试_发送报文代码实现

019_CAN通讯案例一_环回静默模式测试_接收邮箱寄存器介绍

020_CAN通讯案例一_环回静默模式测试_接收报文代码实现

021_CAN通讯案例一_环回静默模式测试_过滤器寄存器介绍

022_CAN通讯案例一_环回静默模式测试_过滤器配置代码实现

023_CAN通讯案例一_环回静默模式测试_综合收发测试

024_CAN通讯案例一_环回静默模式测试_HAL库方式_工程配置

025_CAN通讯案例一_环回静默模式测试_HAL库方式_函数调用说明和过滤器配置

026_CAN通讯案例一_环回静默模式测试_HAL库方式_收发报文代码实现和测试

027_CAN通讯案例二_双机收发测试_硬件连线

028_CAN通讯案例二_双机收发测试_寄存器方式实现

029_CAN通讯案例二_双机收发测试_HAL库方式实现

030_以太网_基本概念和底层原理

031_以太网_与互联网的区别和联系

032_以太网_以太网层次和OSI7层模型

033_以太网_常见网络协议

034_以太网_W5500_芯片基本介绍

035_以太网_W5500_内部结构和连接主控芯片

036_以太网案例一_网络搭建_需求描述和硬件电路

037_以太网案例一_网络搭建_官方库移植

038_以太网案例一_网络搭建_驱动层SPI修改

039_以太网案例一_网络搭建_代码实现和测试

040_以太网案例二_TCP服务端_需求描述和架构设计

041_以太网案例二_TCP服务端_Socket寄存器介绍

042_以太网案例二_TCP服务端_启动服务端

043_以太网案例二_TCP服务端_收发数据

044_以太网案例二_TCP服务端_测试和代码改进

045_以太网案例三_TCP客户端_代码实现和测试

046_以太网案例四_UDP通讯_代码实现和测试

047_以太网案例五_简易版Web服务器_需求描述

048_以太网案例五_简易版Web服务器_代码实现和测试

049_Wi-Fi_概念和基础知识

050_Wi-Fi_发展历程和802.11标准

051_Wi-Fi_背景知识_无线电波的频率划分

052_Wi-Fi_背景知识_无线通讯基本原理

053_Wi-Fi_工作频段和信道

054_Wi-Fi_一些常见概念

055_Wi-Fi_ESP32-C3模块介绍

056_Wi-Fi_ESP32-C3与STM32的连接

057_Wi-Fi_AT固件烧录

058_Wi-Fi案例一_测试AT指令_代码实现

059_Wi-Fi案例二_TCP通讯_Wi-Fi工作模式

060_Wi-Fi案例二_TCP通讯_需求描述和架构设计

061_Wi-Fi案例二_TCP通讯_AT命令整体介绍

062_Wi-Fi案例二_TCP通讯_TCP服务器收发数据流程

063_Wi-Fi案例二_TCP通讯_工程创建和头文件定义

064_Wi-Fi案例二_TCP通讯_WiFi初始化

065_Wi-Fi案例二_TCP通讯_WiFi联网测试

066_Wi-Fi案例二_TCP通讯_TCP服务器启动和数据收发

067_Wi-Fi案例二_TCP通讯_收发数据测试

068_蓝牙_产生背景和发展历程

069_蓝牙_技术类型和常见架构

070_蓝牙_蓝牙协议栈和基本架构

071_蓝牙_BLE协议栈详细介绍

072_蓝牙_BLE角色划分

073_蓝牙_BLE地址

074_蓝牙_广播扫描和通讯

075_蓝牙通讯案例_蓝牙透传模式

076_蓝牙通讯案例_流程梳理和AT命令介绍

077_蓝牙通讯案例_初始化代码实现

078_蓝牙通讯案例_数据传输代码实现

079_蓝牙通讯案例_数据收发测试

080_LoRa_无线通讯分类和低功耗广域网

081_LoRa_LoRa基本介绍

082_LoRa_LoRa应用和组网架构

083_LoRa_LoRa通讯的关键参数

084_LoRa通讯案例_需求描述和硬件连接

085_LoRa通讯案例_驱动层配置和工程创建

086_LoRa通讯案例_官方库的移植和接口配置

087_LoRa通讯案例_LLCC68芯片整体介绍

088_LoRa通讯案例_LoRa数据帧格式

089_LoRa通讯案例_LoRa普通节点_头文件定义

090_LoRa通讯案例_LoRa普通节点_初始化代码实现

091_LoRa通讯案例_LoRa普通节点_发送数据代码实现

092_LoRa通讯案例_LoRa普通节点_接收数据代码实现

093_LoRa通讯案例_LoRa普通节点_测试

094_LoRa通讯案例_LoRa网关节点_实现和联调测试

095_LoRa通讯案例_LoRa网关节点_双向收发测试

096_扩展篇_整体介绍

097_电源控制_框图和整体区域划分

098_电源控制_上电复位和掉电复位

099_电源控制_PVD

100_电源控制_低功耗模式整体简介

101_电源控制_三种低功耗模式介绍

102_电源控制_低功耗_睡眠模式_需求分析和实现思路

103_电源控制_低功耗_睡眠模式_寄存器方式实现

104_电源控制_低功耗_睡眠模式_HAL库方式实现

105_电源控制_低功耗_停机模式_需求分析和实现思路

106_电源控制_低功耗_停机模式_寄存器方式实现

107_电源控制_低功耗_停机模式_获取时钟和验证

108_电源控制_低功耗_停机模式_HAL库方式实现

109_电源控制_低功耗_待机模式_需求分析和实现思路

110_电源控制_低功耗_待机模式_寄存器方式实现

111_电源控制_低功耗_待机模式_HAL库方式实现

112_RTC_基本介绍

113_RTC_功能框图和基本功能

114_RTC_功能模块详细介绍

115_BKP_备份寄存器基本介绍

116_BKP_备份寄存器功能详细介绍

117_BKP案例_需求描述和实现思路

118_BKP案例_寄存器方式实现

119_BKP案例_HAL库方式实现

120_RTC实验一_闹钟唤醒待机模式_需求分析和寄存器介绍

121_RTC实验一_闹钟唤醒待机模式_寄存器方式实现

122_RTC实验一_闹钟唤醒待机模式_HAL库方式实现

123_RTC实验二_实时时钟_寄存器方式实现

124_RTC实验二_扩展练习_LCD显示实时时钟

125_RTC实验二_实时时钟_HAL库方式实现(一)

126_RTC实验二_实时时钟_HAL库方式实现(二)

127_RTC实验二_实时时钟_HAL库方式实现(三)

128_看门狗_独立看门狗介绍

129_看门狗_窗口看门狗介绍

130_独立看门狗案例_需求描述和寄存器介绍

131_独立看门狗案例_寄存器方式实现

132_独立看门狗案例_扩展练习_IWDG唤醒待机模式

133_独立看门狗案例_HAL库方式实现

134_附录一_HAL代码分析

135_附录2_Keil程序编译过程和内存映像

资源下载此资源仅限VIP下载,请先
支付后点击下载按钮即可查看网盘链接,如果链接失效,可联系本站客服
下载价格:VIP专享
此资源仅对VIP开放下载
下载说明:支付后点击下载按钮即可查看网盘链接,如果链接失效,可联系本站客服
0
分享到:
低调求发展,潜心习技术
没有账号? 忘记密码?