值不值得学:先看清这门课的位置
这套资料是 STM32 单片机系列实战的第五部分,主题是用单片机做一个 FM 收音机综合项目。它解决的核心场景,是很多自学完基础外设后仍写不出完整工程的尴尬——点亮 LED 容易,但把 I2C 通信、数据存储、外设模块驱动拼成一个能跑的产品却很难。课程不是零基础入门,而是带你走完从方案选型、模块驱动到功能联调的完整闭环。如果你已经懂 GPIO、定时器、基本串口通信,想拿一个有真实代码量的项目练手,这套资料值得看;若你连寄存器配置都没碰过,建议先补基础再看,否则会在调试环节卡得很惨。
怎么用资料:建议先啃这几块再动手
整套资料按项目推进顺序组织,建议不要按顺序从头刷,而是分三步走。第一步先看项目常识和方案选型,理解为什么选 FM 收音机这个场景、整个工程要拆成哪些模块,这决定了你后续写代码的思路框架。第二步重点啃 I2C 接口那几段,这是项目里最关键的通信协议——从接口特点、功能描述到中断请求,务必跟着视频把时序图和寄存器配置自己画一遍,光看不动手等于白学。第三步才是整体联调,把频道搜索、节目播放、信息存储串起来跑通。资料里每个知识点都有对应视频,但真正的学习发生在你暂停视频、打开 Keil 自己敲代码和调示波器波形的时候。
学完能独立做什么
跑通这个项目后,你应该能独立完成几件具体的事:拿到一个陌生传感器模块,能根据数据手册写 I2C 驱动;能把外设数据存到指定介质并按需读取;遇到通信异常时,知道用逻辑分析仪抓时序定位问题,而不是瞎改代码。本质上,这套资料教的是嵌入式开发里最值钱的能力——把零散外设知识组装成可交付工程的调试手感。如果你是转行者,这个项目可以直接作为面试时拿得出手的实操案例;如果你是在职工程师,它能补上你从写单片代码到做完整产品之间的那块短板。
本课程是《王晓东老师STM32单片机完全学习系列课程》第5部分课程,是一个综合实战项目。该项目实现了一个频道搜索、指定频道节目播放、频道信息存储等STM32单片机控制下的FM收音机功能,有一定代码量,需要一定调试技巧和编程能力来完...
课程目录
* 01 STM32单片机做项目常识/
* 01 行业知识和方案选型.mp4 15:49
* 02 本课程定位和思路.mp4 06:32
* 02 STM32单片机项目介绍/
* 01 STM32单片机项目介绍 (1).mp4 16:39
* 02 STM32单片机项目介绍 (2).mp4 25:01
* 03 项目基础知识/
* 01 I2C接口简介及特点.mp4 19:43
* 02 I2C接口的功能描述(1).mp4 16:22
* 03 I2C接口的功能描述(2).mp4 15:09
* 04 I2C中断请求.mp4 10:03
* 05 SDIO简介及功能描述.mp4 14:45
* 06 卡功能描述.mp4 10:19
* 07 USART介绍及主要特性.mp4 13:13
* 08 USART功能描述(1).mp4 15:06
* 09 USART功能描述(2).mp4 10:54
* 10 USART中断请求.mp4 09:31
* 11 文件打开和关闭.mp4 17:45
* 12 文件读写.mp4 20:23
* 13 文件IO缓冲区.mp4 10:17
* 14 嵌套向量中断控制器.mp4 18:49
* 15 外部中断事件控制器.mp4 13:58
* 04 手把手带你编程/
* 01 代码编写方法及思路.mp4 17:10
* 02 系统初始化.mp4 12:04
* 03 复用IO.mp4 21:40
* 04 GPIO分组.mp4 14:10
* 05 中断优先级组.mp4 19:17
* 06 SDIO中断初始化.mp4 25:49
* 07 SDIO中断处理子程序的编写.mp4 18:18
* 08 GPIO引脚初始化.mp4 25:51
* 09 设置GPIO引脚电平.mp4 24:27
* 10 USART初始化(1).mp4 20:58
* 11 USART初始化(2).mp4 21:23
* 12 USART初始化(3).mp4 11:32
* 13 USART中断处理子程序的编写(1).mp4 21:17
* 14 USART中断处理子程序的编写(2).mp4 24:27
* 15 USART中断处理子程序的编写(3).mp4 19:58
* 16 USART中断处理子程序的编写(4).mp4 15:48
* 17 检查SD卡(1).mp4 19:47
* 18 检查SD卡(2).mp4 21:55
* 19 检查SD卡(3).mp4 20:45
* 20 初始化TF卡分区.mp4 20:28
* 21 文件系统的移植与挂载.mp4 23:35
* 22 在TF卡中创建文件(1).mp4 15:39
* 23 在TF卡中创建文件(2).mp4 15:27
* 24 USART中断初始化.mp4 20:30
* 25 I2C接口初始化.mp4 20:43
* 26 访问GPIO寄存器.mp4 30:19
* 27 延时的实现.mp4 20:44
* 28 读取GPIO引脚的值.mp4 20:52
* 29 发送I2C总线起始信号.mp4 21:01
* 30 基于I2C总线发送数据(1).mp4 32:26
* 31 基于I2C总线发送数据(2).mp4 17:48
* 32 接收I2C总线应答信号(1).mp4 16:33
* 33 接收I2C总线应答信号(2).mp4 14:28
* 34 发送I2C总线停止信号.mp4 21:58
* 35 基于I2C总线发送多字节数据.mp4 22:36
* 36 播放指定频段的节目.mp4 23:20
* 37 基于I2C总线接收多字节数据(1).mp4 19:27
* 38 基于I2C总线接收多字节数据(2).mp4 26:33
* 39 基于I2C总线接收多字节数据(3).mp4 18:50
* 40 发送I2C总线无应答信号.mp4 21:36
* 41 发送I2C总线应答信号.mp4 20:01
* 42 基于I2C总线接收多字节数据(4).mp4 19:41
* 43 搜索有信号频率.mp4 23:43
* 44 将有信号频率个数写入文件(1).mp4 21:19
* 45 将有信号频率个数写入文件(2).mp4 18:15
* 46 将有信号频率个数写入文件(3).mp4 23:00
* 47 使用memset函数清空缓冲区.mp4 18:15
* 48 文件同步.mp4 21:13
* 49 将有信号频率值写入文件.mp4 24:04
* 50 技术点总结(1).mp4 20:42
* 51 技术点总结(2).mp4 19:48
* 52 技术点总结(3).mp4 25:51
* 53 技术点总结(4).mp4 24:23
* 54 技术点总结(5).mp4 19:28
* 55 技术点总结(6).mp4 21:28
* 56 技术点总结(7).mp4 21:18






