这门课解决什么实际工作场景

很多嵌入式开发者卡在从裸机开发向系统化架构过渡的瓶颈期。传统写法依赖大循环加中断,代码耦合严重,一旦功能叠加,实时性和可维护性便大幅下降。本课程聚焦单片机平台的 RTOS 双架构实战,核心解决的是如何在资源受限的 MCU 上,通过任务调度与硬件驱动的分离设计,构建稳定、可扩展的多任务系统。

课程不以抽象理论为主,而是依托“智能家居”这一典型项目,完整演示从底层 HAL 库驱动调试到上层 RTOS 任务划分的闭环流程。它帮助学习者理解双系统协同机制:既保留裸机对硬件的直接控制能力,又引入操作系统的任务管理优势,解决多传感器并发采集、多执行单元协调等实际工程难题。

门槛与学习路径建议

适合具备 C 语言基础、熟悉 GPIO、定时器、串口等外设常规操作,但缺乏多任务开发经验的初学者或转行者。若你曾编写过嵌套死循环代码,却难以应对复杂逻辑,本课程正是为了填补这一空白。

建议学习顺序如下:首先观看开营视频,明确课程节奏与考核方式;其次深入研读“智能家居”项目的课前必读资料,建立对硬件平台和软件框架的整体认知;随后进入核心模块,按项目驱动方式同步推进 HAL 库开发与 RTOS 概念学习。重点不应停留在观看,而需在复现代码的过程中,逐步理解任务切换、临界区保护及消息传递机制。

学完产出与资料配合方法

完成课程后,你将具备独立设计中小规模嵌入式软件架构的能力。具体表现为:能合理划分任务边界,配置优先级以避免优先级反转,熟练使用信号量、消息队列等同步原语,并能处理裸机初始化与 RTOS 任务间的衔接问题。可胜任智能家居中控、简易工控界面、多节点数据采集等系统的软件开发。

资料包以视频讲解与项目源码为主体。请遵循“先看框架,再抠细节,最后排查异常”的练习策略。RTOS 的核心体会来自调试过程,务必亲手复现任务堆栈溢出、死锁等典型故障,并观察上下文切换日志。遇到卡点时,应回溯 HAL 库部分重新验证硬件交互逻辑,再回归 RTOS 层分析任务状态机,避免脱离硬件基础空谈调度算法。

课程目录

d824c7a5-6467-4ca1-9a35-3ad486d3bf2f.png (184.

17 KB,  ) 2024-12-11 19:

47 上传 15eb60233dfea24a8314fdff7d59f807.png (289.

77 KB,  ) 2024-12-11 20:

56 上传 92b2f90b242a74d8aad1de3ae1fafbe8.png (388.

25 KB,  ) 2024-12-11 20:

57 上传 ├──1–【课程表】实时更新 快速导航 | ├──2–[视频]开营第1天_学习内容及方式.mp4
 23.09M | └──3–[视频]开营第1天_互动.mp4
 329.55M ├──2–【项目1】01_-基于HAL库实现智能家居-课前必看 | ├──1–[视频]1-1-1_资料下载说明(必看).mp4
 15.49M | ├──4–[视频]1-1-3_项目1功能及学习顺序.mp4
 14.87M | └──5–[视频]1-1-4_sourceinsight的使用.mp4
 19.84M ├──10–【项目2】04_基于FreeRTOS实现智能家居 | ├──1–[视频]2-3-1_裸机程序的不足.mp4
 25.18M | ├──10–[视频]2-3-10_DHT11温湿度传感器的使用.mp4
 19.07M | ├──12–[视频]2-3-12_在多任务系统中使用DHT11.mp4
 188.81M | ├──13–[视频]2-3-13_使用中断来实现DHT11的读取.mp4
 175.27M | ├──14–[视频]2-3-14_使用中断来实现DHT11的读取_调试.mp4
 192.59M | ├──15–[视频]2-3-15_获取sntp服务器的时间.mp4
 81.38M | ├──16–[视频]2-3-16_智能家居项目增加功能_框架设计.mp4
 12.36M | ├──18–[视频]2-3-18_复习02_RTOS创建任务和调度简述.mp4
 49.44M | ├──2–[视频]2-3-2_程序合并(裸机+FreeRTOS).mp4
 97.10M | ├──21–[视频]2-3-21_复习05_IPC内部链表的引入.mp4
 41.17M | ├──22–[视频]2-3-22_复习06_队列内部机制代码分析.mp4
 129.31M | ├──23–[视频]2-3-23_复习07_main函数栈的回收.mp4
 53.04M | ├──25–[视频]2-3-25_复习09_任务切换可能发生在任何地方.mp4
 47.25M | ├──27–[视频]2-3-27_复习11_队列集.mp4
 39.29M | ├──3–[视频]2-3-3_使用FreeRTOS改造的思路.mp4
 23.20M | ├──4–[视频]2-3-4_把裸机程序转换为FreeRTOS程序.mp4
 49.63M | ├──6–[视频]2-3-6_调试队列程序.mp4
 148.25M | ├──7–[视频]2-3-7_CortexM3_M4中断体系彻底讲解.mp4
 110.97M | └──9–[视频]2-3-9_FreeRTOS的中断设置.mp4
 56.08M ├──11–【项目3】01_深入理解ARM架构 | ├──1–[视频]3-1-1_为什么讲单片机_讲什么内容.mp4
 16.06M | ├──10–[视频]3-1-10_ARM内部寄存器.mp4
 41.09M | ├──12–[视频]3-1-12_ARM汇编模拟器VisUAL.mp4
 34.87M | ├──13–[视频]3-1-13_内存访问指令.mp4
 95.16M | ├──14–[视频]3-1-14_数据处理指令.mp4
 35.91M | ├──17–[视频]3-1-17 编程知识_字节序_位操作.mp4
 68.78M | ├──18–[视频]3-1-18_编程知识_汇编_反汇编_机器码_基于STM32F103开发板.mp4
 74.11M | ├──21–[视频]3-1-21_使用按键控制LED_基于STM32F103开发板.mp4
 42.27M | ├──23–[视频]3-1-23_STM32F103_UART操作.mp4
 58.97M | ├──25–[视频]3-1-25_KEIL_IDE背后的命令.mp4
 44.46M | ├──26–[视频]3-1-26_准备工作_安装windows-gcc工具_CodeBlocks.mp4
 12.34M | ├──27–[视频]3-1-27 gcc编译过程详解.mp4
 70.82M | ├──29–[视频]3-1-29 Makefile的语法.mp4
 84.46M | ├──31–[视频]3-1-31 Makefile实例.mp4
 103.13M | ├──33–[视频]3-1-33_段的概念_重定位的引入_基于STM32F103开发板.mp4
 46.04M | ├──34–[视频]3-1-34 重定位要做的事情.mp4
 20.96M | ├──39–[视频]3-1-39_异常与中断的概念引入与处理流程.mp4
 52.90M | ├──4–[视频]3-1-4_嵌入式系统硬件组成.mp4
 31.60M | ├──40–[视频]3-1-40_ARM架构中异常与中断的处理.mp4
 55.29M | ├──42–[视频]3-1-42_实战_未定义指令异常(STM32F103).mp4
 134.59M | ├──43–[视频]3-1-43_实战_SVC异常(STM32F103).mp4
 24.96M | ├──44–[视频]3-1-44_实战_SysTick异常(STM32F103).mp4
 70.55M | ├──45–[视频]3-1-45_中断的硬件框架.mp4
 74.99M | ├──47–[视频]3-1-47_STM32CubeMX生成GCC工程.mp4
 42.90M | ├──5–[视频]3-1-5_硬件知识_LED原理图.mp4
 35.27M | ├──50–[视频]复习03_段和重定位.mp4
 52.66M | ├──53–[视频]3-1-50_MSP和PSP.mp4
 85.07M | ├──6–[视频]3-1-6_GPIO引脚操作方法概述.mp4
 34.35M | ├──7–[视频]3-1-7_STM32F103的GPIO操作方法.mp4
 45.29M | └──8–[视频]3-1-8_STM32F103的LED编程.mp4
 48.90M ├──12–【项目3】02_自己写RTOS_实现多任务系统 | ├──10–[视频]3-2-10_中断返回的特殊处理理.mp4
 18.02M | ├──11–[视频]3-2-11_编程2_完善启动任务.mp4
 55.58M | ├──13–[视频]3-2-13_任务切换的代码总体讲解.mp4
 45.46M | ├──14–[视频]3-2-14_RTOS的更多特性.mp4
 25.18M | ├──16–[视频]3-2-16_创建任务时栈的设置.mp4
 76.99M | ├──17–[视频]3-2-17_启动第1个任务时寄存器和栈的变化.mp4
 106.56M | ├──18–[视频]3-2-18_任务切换时寄存器和栈的变化.mp4
 66.35M | ├──4–[视频]3-2-4_分析C函数的汇编码理解程序本质.mp4
 87.77M | ├──5–[视频]3-2-5_ARM架构过程调用标准AAPCS.mp4
 86.28M | └──6–[视频]3-2-6_中断处理时现场的保存和恢复.mp4
 57.34M ├──13–【项目4】FreeRTOS移植与内部实现 | ├──1–[视频]4-1_普通的链表操作.mp4
 57.39M | ├──10–[视频]4-10_FreeRTOS的链表代码分析.mp4
 174.48M | ├──12–[视频]4-12_heap_2操作原理.mp4
 51.44M | ├──13–[视频]4-13_heap_2源码分析.mp4
 75.45M | ├──14–[视频]4-14_heap_4源码分析.mp4
 173.94M | ├──15–[视频]4-15_heap_5源码分析.mp4
 87.03M | ├──16–[视频]4-16_任务函数源码分析_创建任务_伪造现场.mp4
 146.27M | ├──19–[视频]4-19_任务函数源码分析_任务切换.mp4
 134.23M | ├──2–[视频]4-2_普通链表的创建和添加操作.mp4
 96.25M | ├──21–[视频]4-21_任务函数源码分析_阻塞和唤醒.mp4
 135.63M | ├──22–[视频]4-22_临界区进出函数源码分析_关闭中断.mp4
 62.03M | ├──23–[视频]4-23_临界区进出函数源码分析_关闭调度器.mp4
 124.24M | ├──24–[视频]4-24_通用队列是核心.mp4
 64.89M | ├──25–[视频]4-25_队列源码分析.mp4
 148.01M | ├──28–[视频]4-28_事件组源码分析_概述.mp4
 48.59M | ├──29–[视频]4-29_事件组源码分析_情景分析1.mp4
 69.32M | ├──3–[视频]4-3_普通链表的删除操作.mp4
 77.08M | ├──30–[视频]4-30_事件组源码分析_情景分析2.mp4
 92.63M | ├──32–[视频]20220506_FreeRTOS复习1_RTOS引入.mp4
 26.03M | ├──33–[视频]20220506_FreeRTOS复习3_调度.mp4
 91.47M | ├──34–[视频]20220506_FreeRTOS复习4_全局变量读写问题.mp4
 32.86M | ├──5–[视频]4-5_作业与引子.mp4
 17.71M | └──6–[视频]4-6_普通链表的改进.mp4
 75.17M ├──14–【项目5】01_基于RT-Thread Nano快速入门 | ├──10–[视频]5-1-9_怎么确定栈的大小.mp4
 93.65M | ├──11–[视频]5-1-10_栈大小的精确计算.mp4
 29.51M | ├──12–[视频]5-1-11_调度示例及状态转换图.mp4
 33.44M | ├──13–[视频]5-1-12_消息队列的引入.mp4
 16.06M | ├──14–[视频]5-1-13_消息队列的函数.mp4
 54.19M | ├──15–[视频]5-1-14_RTT消息队列相比于FreeRTOS的优点.mp4
 18.62M | ├──16–[视频]5-1-15_消息队列示例代码.mp4
 23.18M | ├──17–[视频]5-1-16_邮箱内部实现与操作.mp4
 66.97M | ├──18–[视频]5-1-17_信号量接口函数.mp4
 53.28M | ├──19–[视频]5-1-18_信号量示例.mp4
 35.24M | ├──2–[视频]5-1-1_RTOS的引入.mp4
 27.55M | ├──20–[视频]5-1-19_信号的引入与Linux体验.mp4
 70.85M | ├──22–[视频]5-1-21_使用信号的程序示例.mp4
 18.36M | ├──24–[视频]5-1-23_互斥量优先级继承示例.mp4
 51.27M | ├──26–[视频]5-1-25_事件集示例.mp4
 18.36M | ├──27–[视频]5-1-26_RT-Thread和FreeRTOS的事件集差别.mp4
 40.73M | ├──5–[视频]5-1-4_多线程与裸机编程的不同.mp4
 78.44M | ├──8–[视频]5-1-7_非入门知识_栈回溯示例.mp4
 218.61M | └──9–[视频]5-1-8_非入门知识_栈回溯原理.mp4
 58.34M ├──15–【项目5】02_RT-Thread Studio基本配置 | └──2–[视频]5-2-2_RT-Thread Studio配置实现温湿度上云.mp4
 123.30M ├──16–【项目5】03_RT-Thread驱动程序 | ├──1–[视频]5-3-1_驱动程序模型的引入.mp4
 47.55M | ├──10–[视频]5-3-10_分层的Hello驱动程序(方法1)_上机.mp4
 58.34M | ├──100–[视频]【从0实现文件系统】20_总结.mp4
 86.04M | ├──11–[视频]5-3-11_分层的Hello驱动程序(方法2)_编写.mp4
 65.22M | ├──15–[视频]5-3-15_GPIO驱动程序代码分析.mp4
 73.48M | ├──16–[视频]5-3-16_使用pin驱动来操作LED.mp4
 59.63M | ├──17–[视频]5-3-17_扩展知识_Linux输入系统.mp4
 43.89M | ├──18–[视频]5-3-18_MultiButton原理.mp4
 20.24M | ├──2–[视频]5-3-2_编写Hello驱动程序.mp4
 112.18M | ├──21–[视频]5-3-21_使用MultiButton_完善代码.mp4
 44.85M | ├──22–[视频]5-3-22_使用MultiButton_上机.mp4
 31.87M | ├──24–[视频]5-3-24_Touch驱动程序框架.mp4
 55.18M | ├──26–[视频]5-3-26_UART驱动程序框架.mp4
 65.91M | ├──29–[视频]5-3-29_I2C协议.mp4
 56.04M | ├──30–[视频]5-3-30_I2C设备的2种访问方法.mp4
 23.99M | ├──32–[视频]5-3-32_I2C控制器驱动注册过程情景分析.mp4
 63.11M | ├──33–[视频]5-3-33_I2C设备的第1种访问方法_APP通过控制器驱动来访问.mp4
 53.99M | ├──35–[视频]5-3-35_SPI协议.mp4
 36.51M | ├──36–[视频]5-3-36_SPI主从设备的结构体与联系.mp4
 35.99M | ├──37–[视频]5-3-37_SPI控制器驱动程序注册过程情景分析.mp4
 69.13M | ├──38–[视频]5-3-38_APP直接通过SPI控制器访问SPI设备不可行.mp4
 44.89M | ├──39–[视频]5-3-39_注册SPI从设备.mp4
 56.36M | ├──4–[视频]5-3-4_调试Hello驱动程序.mp4
 151.07M | ├──41–[视频]5-3-41_基本概念_挂载点_设备_文件系统.mp4
 65.75M | ├──44–[视频]5-3-44_devfs情景分析_read.mp4
 30.11M | ├──45–[视频]5-3-45_devfs情景分析_总结.mp4
 45.65M | ├──46–[视频]5-3-46_ELM(FAT)情景分析_挂载.mp4
 50.95M | ├──47–[视频]5-3-47_ELM(FAT)情景分析_open.mp4
 38.65M | ├──51–[视频]5-3-51_使用内存模拟块设备_编译调试.mp4
 19.80M | ├──52–[视频]5-3-52_使用内存模拟块设备_太小了无法使用ELMFAT.mp4
 37.86M | ├──53–[视频]5-3-53_使用内存模拟块设备_挂载失败.mp4
 47.40M | ├──54–[视频]5-3-54_使用自带Flash作为块设备_编程.mp4
 52.32M | ├──55–[视频]5-3-55_使用自带Flash作为块设备_编译.mp4
 55.15M | ├──56–[视频]5-3-56_使用自带Flash作为块设备_上机发现新问题.mp4
 17.95M | ├──57–[视频]5-3-57_使用自带Flash作为块设备_可以格式化mount无法写文件.mp4
 63.50M | ├──59–[视频]总结1_驱动程序的引入.mp4
 29.42M | ├──6–[视频]5-3-6_C语言的继承.mp4
 54.88M | ├──62–[视频]总结4_PIN驱动简单分析.mp4
 21.55M | ├──63–[视频]总结5_I2C驱动简单分析.mp4
 18.42M | ├──64–[视频]总结6_块设备驱动程序.mp4
 52.53M | ├──66–[视频]总结8_挂载点_文件系统_块设备三者关系.mp4
 23.45M | ├──67–[视频]总结9_ELM文件系统和flash驱动程序.mp4
 58.40M | ├──68–[视频]总结10_devfs文件系统.mp4
 32.40M | ├──70–[视频]【块设备驱动直播_AT24C02】02_编写AT24C02驱动_总体代码.mp4
 97.11M | ├──73–[视频]【块设备驱动直播_AT24C02】05_检查代码.mp4
 58.17M | ├──74–[视频]【块设备驱动直播_AT24C02】06_作业_使用内存模拟块设备.mp4
 15.19M | ├──75–[视频]【块设备驱动直播_SPI-Flash】01_RT-Thread驱动框架回顾.mp4
 69.89M | ├──76–[视频]【块设备驱动直播_SPI-Flash】02_块设备驱动程序框架.mp4
 73.03M | ├──79–[视频]【块设备驱动直播_SPI-Flash】05_怎么使用SPI控制器驱动.mp4
 133.12M | ├──81–[视频]【从0实现文件系统】01_RT-Thread里访问文件的流程.mp4
 71.09M | ├──84–[视频]【从0实现文件系统】04_格式化与挂载_调试.mp4
 195.31M | ├──88–[视频]【从0实现文件系统】08_分析ls命令理解文件系统的操作函数.mp4
 43.72M | ├──90–[视频]【从0实现文件系统】10_getdents(获得目录项).mp4
 93.48M | ├──91–[视频]【从0实现文件系统】11_getstat(获得文件状态).mp4
 49.36M | ├──92–[视频]【从0实现文件系统】12_使用ls命令测试.mp4
 147.42M | ├──93–[视频]【从0实现文件系统】13_普通文件的open.mp4
 155.73M | ├──94–[视频]【从0实现文件系统】14_普通文件的读写.mp4
 16.90M | ├──96–[视频]【从0实现文件系统】16_普通文件的创建.mp4
 83.43M | └──99–[视频]【从0实现文件系统】19_调试.mp4
 255.41M ├──17–【项目5】04_RT-Thread源码管理与编译系统 | ├──1–[视频]5-4-1_KEIL_IDE背后的命令.mp4
 67.29M | ├──4–[视频]5-4-4_Makefile的引入及规则.mp4
 210.32M | ├──5–[视频]5-4-5_Makefile的语法.mp4
 227.07M | └──6–[视频]5-4-6_Makefile函数.mp4
 158.30M ├──18–【项目6】01_RT-Thread内部实现 | ├──10–[视频]6-1-6.3_多个堆的管理算法memheap.mp4
 128.73M | ├──11–[视频]6-1-6.4A_大内存管理算法slab_形象类比与初始化.mp4
 77.33M | ├──12–[视频]6-1-6.4B_大内存管理算法slab_大内存申请与释放.mp4
 27.36M | ├──13–[视频]6-1-6.4C_大内存管理算法slab_常规内存分配与释放.mp4
 94.79M | ├──15–[视频]6-7-2A_启动第1个线程_理论介绍.mp4
 69.70M | ├──16–[视频]6-7-2B_启动第1个线程_代码分析.mp4
 75.95M | ├──17–[视频]6-7-3_线程的切换.mp4
 77.98M | ├──19–[视频]6-8-1_定时器原理及调用过程.mp4
 76.65M | ├──2–[视频]6-1-2_调用函数的方法.mp4
 124.37M | ├──20–[视频]6-8-2_定时器插入操作(跳表)_原理.mp4
 99.92M | ├──24–[视频]6-9-2_消息队列代码分析.mp4
 114.66M | ├──28–[视频]6-11-3_信号代码分析_处理.mp4
 61.77M | ├──3–[视频]6-1-3_RT-Thread启动流程.mp4
 59.24M | ├──30–[视频]6-11-5_信号代码分析_Bug分析与解决.mp4
 119.86M | ├──33–[视频]6-14-1_事件组代码分析.mp4
 49.38M | ├──5–[视频]6-1-5_RT-Thread的链表操作.mp4
 165.21M | ├──7–[视频]6-1-6.2A_小内存管理算法mem初始化.mp4
 57.60M | ├──8–[视频]6-1-6.2B_小内存管理算法mem分配.mp4
 68.87M | └──9–[视频]6-1-6.2C_小内存管理算法mem释放.mp4
 37.86M ├──19–【项目7】基于RT-Thread-BSP实现环境监控 | ├──1–[视频]01_网络基础知识.mp4
 92.48M | ├──11–[视频]10-1_使用ESP8266.mp4
 60.24M | ├──15–[视频]11-2_pahomqtt源码分析.mp4
 93.69M | ├──16–[视频]12_实现环境监测.mp4
 159.49M | ├──3–[视频]03_怎么写MQTT程序.mp4
 46.03M | ├──5–[视频]05_MQTT程序结构.mp4
 61.71M | └──8–[视频]08_源码分析_订阅消息及处理流程.mp4
 112.95M ├──19–【项目8】RISC-V架构与硬件模块编程 | ├──1–[视频]1-1_课程介绍与资料下载.mp4
 52.02M | ├──11–[视频]4.1_内部寄存器.mp4
 31.98M | ├──13–[视频]4.3_第1个程序的delay函数反汇编分析.mp4
 37.38M | ├──15–[视频]05.1_栈的作用_局部变量和越界访问.mp4
 167.57M | ├──17–[视频]05.3_答疑.mp4
 12.36M | ├──19–[视频]05.5_BROM勘误与相对地址绝对地址.mp4
 32.56M | ├──2–[视频]1-2_课前准备.mp4
 15.45M | ├──20–[视频]05.6_使用相对地址访问全局变量.mp4
 29.04M | ├──4–[视频]2-2_硬件结构与启动流程.mp4
 37.78M | ├──5–[视频]2-3_答疑.mp4
 27.31M | ├──6–[视频]3-1_第1个程序(废弃版).mp4
 174.72M | ├──6–[视频]3-1_点灯程序.mp4
 78.82M | ├──7–[视频]3-2_编写Makefile.mp4
 42.99M | ├──8–[视频]3-3_上机调试.mp4
 39.22M | └──9–[视频]3-4_答疑.mp4
 30.38M ├──20–【项目8】RISC-V架构与硬件模块编程 | ├──10–[视频]3-5_mksunxi分析.mp4
 44.51M | ├──12–[视频]4.2_第1个程序涉及的汇编指令介绍.mp4
 114.13M | ├──13–[视频]4.3_第1个程序的delay函数反汇编分析.mp4
 37.38M | ├──14–[视频]4.4_第1个程序的main函数反汇编分析.mp4
 69.78M | ├──16–[视频]05.2_栈的作用_寄存器的保存.mp4
 48.91M | ├──18–[视频]05.4_增加串口打印.mp4
 33.99M | ├──19–[视频]05.5_BROM勘误与相对地址绝对地址.mp4
 32.56M | ├──2–[视频]1-2_课前准备.mp4
 15.45M | ├──21–[视频]05.7_无初始值的全局变量的实验.mp4
 62.05M | ├──22–[视频]05.8_引入段的概念.mp4
 25.87M | ├──4–[视频]2-2_硬件结构与启动流程.mp4
 37.78M | ├──5–[视频]2-3_答疑.mp4
 27.31M | ├──6–[视频]3-1_点灯程序.mp4
 78.82M | ├──8–[视频]3-3_上机调试.mp4
 39.22M | └──9–[视频]3-4_答疑.mp4
 30.38M ├──20–【项目8】基于ESP32-C3-SDK实现智能家居 | ├──10–[视频]3-1.sourceinsight使用smaba访问esp-idf工程.mp4
 49.14M | ├──13–[视频]4-1.GPIO硬件原理.mp4
 61.26M | ├──14–[视频]4-2.ESP32-GPIO控制器简介.mp4
 26.45M | ├──18–[视频]4-5.GPIO模块项目扩展组合示例.mp4
 75.14M | ├──2–[视频]0.课程介绍.mp4
 23.05M | ├──20–[视频]5-1.-I2C通信协议原理.mp4
 88.72M | ├──21–[视频]5-2.-ESP32-C3-I2C控制器.mp4
 10.02M | ├──22–[视频]5-3.-板载I2C引脚连接分析说明.mp4
 11.39M | ├──24–[视频]5-4_2.-使用ESP-IDF-进行I2C开发.mp4
 76.19M | ├──25–[视频]5-4_3.-使用ESP-IDF-进行I2C开发.mp4
 59.86M | ├──26–[视频]5-4_4.-使用ESP-IDF-进行I2C开发.mp4
 211.48M | ├──28–[视频]5-5_1.OLED开发流程与准备工作.mp4
 69.81M | ├──29–[视频]5-5_2.-oled模块开发.mp4
 230.14M | ├──3–[视频]1.ESP32-C3开发资源介绍.mp4
 54.93M | ├──31–[视频]7-1.存储设备NVS示例讲解.mp4
 144.77M | ├──33–[视频]8-1.WIFI原理讲解上.mp4
 36.41M | ├──34–[视频]8-2.WIFI原理讲解下.mp4
 53.20M | ├──35–[视频]8-3.-ESP32创建STA连接WIFI路由器.mp4
 71.30M | ├──38–[视频]8-6.-使用SmartConfig进行配网.mp4
 75.16M | ├──6–[视频]2_1-3.搭建开发环境之ubuntu安装samba实现文件共享.mp4
 63.79M | ├──7–[视频]2_2.搭建开发环境之获取源码并配置esp-idf开发环境.mp4
 112.58M | ├──8–[视频]2_3.搭建开发环境之编译运行helloword.mp4
 75.86M | └──9–[视频]3-0.ESP32-IDF框架简介.mp4
 66.10M ├──21–【项目9】深入理解RISC-V32架构,实现多任务系统 | ├──1–[视频][01-1]_课程介绍与资料下载.mp4
 5.99M | ├──10–[视频][05-1]_编程知识_汇编_反汇编_机器码.mp4
 105.08M | ├──11–[视频][05-2-1]_编程知识_C与汇编深入分析.mp4
 67.33M | ├──12–[视频][05-2-2]_C函数的反汇编实例分析.mp4
 78.96M | ├──14–[视频][06-1]_使用按键控制LED.mp4
 44.21M | ├──17–[视频][08-1]_KEIL-IDE背后的命令.mp4
 63.51M | ├──18–[视频][08-2]_准备工作_安装windows-gcc工具-CodeBlocks.mp4
 16.58M | ├──2–[视频][02-1]_处理器的区分MCU_MPU_AP.mp4
 63.25M | ├──21–[视频][08-5]_Makefile的语法.mp4
 71.04M | ├──22–[视频][08-6]_Makefile函数.mp4
 48.28M | ├──23–[视频][08-7]_Makefile实例.mp4
 86.67M | ├──26–[视频][09-3]_链接脚本使用与分析.mp4
 102.38M | ├──27–[视频][09-4]_清除BSS段.mp4
 38.35M | ├──29–[视频][10-1]_异常与中断的概念引入与处理流程(通用).mp4
 46.44M | ├──3–[视频][02-2]_硬件结构与启动流程.mp4
 46.03M | ├──33–[视频][10-4-1]_实战_定时器_启动.mp4
 218.27M | ├──35–[视频][11-1]_回顾自己编写的RTOS.mp4
 22.64M | ├──36–[视频][11-2]_移植自己编写的RTOS.mp4
 99.27M | ├──4–[视频][02-3]_ESP32-C3地址映射与启动流程.mp4
 60.62M | ├──5–[视频][03-1]_使用ROM函数操作LED.mp4
 37.19M | ├──8–[视频][04-2]_常用汇编指令.mp4
 51.54M | └──9–[视频][04-3]_使用模拟器练习汇编.mp4
 36.96M ├──22–【项目10】基于FreeRTOS实现环境监测 | └──2–[视频]2_ESP32-C3适配MQTT.mp4
 85.83M ├──3–【项目1】02_环境搭建及C语言基础 | ├──10–[视频]C语言的本质.mp4
 123.64M | ├──11–[视频]C语言基础答疑.mp4
 57.58M | ├──12–[视频]直播公开课_01_C语言的本质课程内容概述.mp4
 5.49M | ├──14–[视频]直播公开课_03_局部变量的分配与初始化.mp4
 124.12M | ├──2–[视频]1-2-2_C语言基础概述.mp4
 27.67M | ├──20–[视频]直播公开课_09_答疑.mp4
 246.92M | ├──22–[视频]直播公开课_11_指针.mp4
 50.48M | ├──23–[视频]直播公开课_12_指针再介绍.mp4
 28.61M | ├──24–[视频]直播公开课_13_结构体.mp4
 47.11M | ├──26–[视频]直播公开课_15_位域.mp4
 21.06M | ├──27–[视频]直播公开课_16_答疑.mp4
 31.07M | ├──28–[视频]直播公开课_17_头文件的作用.mp4
 52.72M | ├──29–[视频]直播公开课_18_答疑.mp4
 15.86M | ├──3–[视频]1-2-3_进制转换.mp4
 19.67M | ├──30–[视频]直播公开课_19_指针专题1_int变量的初始化.mp4
 48.30M | ├──31–[视频]直播公开课_20_指针专题2_字符串和结构体的初始化.mp4
 32.40M | ├──33–[视频]直播公开课_22_答疑_结构体初始化示例.mp4
 113.52M | ├──4–[视频]1-2-4_位运算.mp4
 36.74M | ├──5–[视频]1-2-5_封装寄存器.mp4
 29.93M | ├──6–[视频]1-2-6_函数指针.mp4
 15.05M | ├──7–[视频]1-2-7_链表.mp4
 31.81M | └──8–[视频]1-2-8_扩展_变量与指针.mp4
 87.25M ├──4–【项目1】03_项目必备的HAL库基础 | ├──1–[视频]1-3-1_创建基础模板.mp4
 77.80M | ├──10–[视频]1-3-10_OLED的数据填充与像素显示.mp4
 36.08M | ├──11–[视频]1-3-11_OLED显示字符的方法.mp4
 45.45M | ├──13–[视频]1-3-13_通信概念和实验现象.mp4
 24.87M | ├──14–[视频]1-3-14_分析原理图和UART收发流程.mp4
 14.23M | ├──17–[视频]1-3-17_中断收发.mp4
 42.73M | ├──18–[视频]1-3-18_环形缓冲区的概念和实现.mp4
 57.65M | ├──20–[直播]韦东山C语言基础线上公开课.mp4
 1.16G | ├──3–[视频]1-3-3_完成LED驱动程序.mp4
 62.32M | ├──4–[视频]1-3-4_完成按键的驱动程序.mp4
 33.68M | └──5–[视频]1-3-5_初识OLED.mp4
 9.17M ├──4–【项目1】03_项目必备的HAL库基础_1010181035 | ├──1–[视频]1-3-1_创建基础模板.mp4
 77.80M | ├──10–[视频]1-3-10_OLED的数据填充与像素显示.mp4
 36.08M | ├──11–[视频]1-3-11_OLED显示字符的方法.mp4
 45.45M | ├──12–[视频]1-3-12_显示字符的方法2和字符串显示以及拓展.mp4
 66.71M | ├──13–[视频]1-3-13_通信概念和实验现象.mp4
 24.87M | ├──15–[视频]1-3-15_HAL库初始化UART流程.mp4
 27.38M | ├──16–[视频]1-3-16_printf重定向和命令点灯.mp4
 44.80M | ├──17–[视频]1-3-17_中断收发.mp4
 42.73M | ├──18–[视频]1-3-18_环形缓冲区的概念和实现.mp4
 57.65M | ├──19–[视频]1-3-19_外部中断控制打印输出.mp4
 85.27M | ├──20–[直播]韦东山C语言基础线上公开课.mp4
 1.16G | ├──3–[视频]1-3-3_完成LED驱动程序.mp4
 62.32M | ├──4–[视频]1-3-4_完成按键的驱动程序.mp4
 33.68M | ├──5–[视频]1-3-5_初识OLED.mp4
 9.17M | ├──7–[视频]1-3-7_完成I2C底层驱动.mp4
 83.89M | ├──8–[视频]1-3-8_SSD1306的I2C数据格式和显存访问.mp4
 35.35M | └──9–[视频]1-3-9_完成OLED的底层驱动程序.mp4
 165.66M ├──5–【项目1】04_AT指令(基于ESP8266) | ├──1–[视频]1-4-1_课程安排和学习前的准备工作.mp4
 21.77M | ├──10–[视频]1-4-10_AT指令应用示例_单连接 TCP Client.mp4
 92.92M | ├──13–[视频]1-4-13_AT指令应用示例_TCP Client 单连接透传.mp4
 43.37M | ├──14–[视频]1-4-14_AT指令应用示例_UDP透传.mp4
 25.53M | ├──15–[视频]1-4-15_AT指令应用示例_多连接 TCP Server.mp4
 40.64M | ├──2–[视频]1-4-2_ESP8266-01S详细介绍.mp4
 39.20M | ├──4–[视频]1-4-4_使用AT指令前需要注意的事.mp4
 46.21M | ├──5–[视频]1-4-5_AT指令的分类和提示信息(1).mp4
 41.82M | ├──8–[视频]1-4-8_基础Wi-Fi功能AT指令概述.mp4
 13.94M | └──9–[视频]1-4-9_TCP&IP功能AT指令概述.mp4
 9.71M ├──6–【项目1】05_基于HAL库的智能家居 | ├──1–[视频]1-5-1_程序功能及框架设计.mp4
 22.17M | ├──10–[视频]1-5-10_设备系统_单元测试.mp4
 65.22M | ├──11–[视频]1-5-11_设备系统_显示设备结构体抽象.mp4
 42.82M | ├──12–[视频]1-5-12_设备系统_实现显示设备.mp4
 127.66M | ├──13–[视频]1-5-13_设备系统_显示设备单元测试.mp4
 164.47M | ├──14–[视频]1-5-14_设备系统_风扇设备源码讲解.mp4
 17.39M | ├──15–[视频]1-5-15_字体系统_设计思路与结构体.mp4
 40.95M | ├──16–[视频]1-5-16_字体系统_实现ASCII字库的操作.mp4
 86.09M | ├──18–[视频]1-5-18_文字显示_编程.mp4
 112.17M | ├──2–[视频]1-5-2_输入系统_数据结构抽象.mp4
 52.21M | ├──20–[视频]1-5-20_网络系统_设计思路与结构体.mp4
 35.39M | ├──21–[视频]1-5-21_网络系统_ESP8266模块编程.mp4
 78.72M | ├──22–[视频]1-5-22_网络系统_实现AT命令.mp4
 153.15M | ├──24–[视频]1-5-24_网络系统_单元测试.mp4
 151.41M | ├──26–[视频]1-5-26_网络系统_用作输入设备_单元测试.mp4
 53.97M | ├──27–[视频]1-5-27_业务系统_需求和思路.mp4
 15.53M | ├──28–[视频]1-5-28_业务系统_编写代码.mp4
 172.51M | ├──29–[视频]1-5-29_业务系统_测试.mp4
 35.26M | ├──3–[视频]1-5-3_输入系统_设计思路.mp4
 38.83M | ├──4–[视频]1-5-4_输入系统_实现环形缓冲区.mp4
 24.19M | ├──5–[视频]1-5-5_输入子系统_实现按键输入.mp4
 121.47M | └──6–[视频]1-5-6_输入子系统_设备管理.mp4
 33.63M ├──7–【项目2】01_FreeRTOS快速入门 | ├──10–[视频]2-1-10_任务状态理论讲解.mp4
 108.09M | ├──13–[视频]2-1-13_空闲任务及其钩子函数.mp4
 84.10M | ├──14–[视频]2-1-14_任务调度算法.mp4
 87.90M | ├──15–[直播]4小时中度掌握FreeRTOS(20211030).mp4
 1.23G | ├──16–[视频]2-1-15_同步互斥与通信概述.mp4
 73.06M | ├──17–[视频]2-1-16_队列的理论讲解.mp4
 57.53M | ├──19–[视频]答疑直播_队列(20211101).mp4
 156.56M | ├──2–[视频]2-1-2_堆的概念.mp4
 44.60M | ├──20–[视频]2-1-18_队列集.mp4
 85.47M | ├──22–[视频]2-1-20_信号量的常规使用.mp4
 57.68M | ├──23–[视频]2-1-21_互斥量的理论讲解.mp4
 34.49M | ├──24–[视频]2-1-22_互斥量的常规使用.mp4
 60.32M | ├──25–[视频]2-1-23_互斥量的缺陷和递归锁.mp4
 32.43M | ├──26–[视频]2-1-24_事件组的理论讲解.mp4
 40.66M | ├──27–[视频]2-1-25_事件组的使用_等待事件.mp4
 44.48M | ├──3–[视频]2-1-3_栈的概念.mp4
 81.40M | ├──30–[视频]2-1-28_ 任务通知使用_轻量级信号量.mp4
 42.05M | ├──31–[视频]2-1-29_任务通知使用_轻量级队列.mp4
 48.37M | ├──32–[视频]2-1-30_任务通知使用_轻量级事件组.mp4
 72.46M | ├──33–[视频]2-1-31_定时器的理论介绍.mp4
 54.60M | ├──34–[视频]2-1-32_定时器的一般使用.mp4
 102.26M | ├──35–[视频]2-1-33_使用定时器消除抖动.mp4
 41.76M | ├──36–[视频]2-1-34_中断管理.mp4
 104.81M | ├──37–[视频]2-1-35_资源管理.mp4
 75.63M | ├──38–[视频]2-1-36_调试.mp4
 76.04M | ├──4–[视频]2-1-4_从官方源码精简出第1个FreeRTOS程序.mp4
 59.66M | ├──40–[视频]2-1-38_编写程序获取统计信息.mp4
 97.01M | ├──42–[视频]2-1-40_答疑.mp4
 319.01M | ├──5–[视频]2-1-5_修改官方源码增加串口打印.mp4
 256.00M | ├──7–[视频]2-1-7_源码结构与编程规范.mp4
 94.97M | ├──8–[视频]2-1-8_动态_静态创建任务.mp4
 178.80M | └──9–[视频]2-1-9_进一步实验.mp4
 201.84M ├──8–【项目2】02_3人射球机商用项目代码讲解 | ├──3–[视频]03_监听任务(listen)分析.mp4
 47.15M | ├──4–[视频]04_玩家任务分析.mp4
 95.04M | ├──5–[视频]05_Host任务分析.mp4
 115.86M | └──6–[视频]06_UI任务分析.mp4
 87.65M ├──9–【项目2】03_CubeMX对FreeRTOS的适配 | ├──1–[视频]2-2-1_cubemx创建FreeRTOS的工程模板.mp4
 25.25M | ├──3–[视频]2-2-3_STM32CubeMX创建任务.mp4
 82.07M | ├──4–[视频]2-2-4_STM32CubeMX创建信号量.mp4
 57.38M | ├──5–[视频]2-2-5_STM32CubeMX创建互斥量.mp4
 65.90M | └──7–[视频]2-2-7_STM32CubeMX创建消息队列.mp4
 34.89M ├──rtos_doc_source课件代码压缩包 | ├──RTOS培训资料 | ├──README.md 4.77kb | ├──RT-Thread完全开发手册之快速入门.pdf
 10.21M | ├──RTOS晚课笔记(2期) – 截止2024.01.13.pdf
 70.33M | └──.gitignore 0.02kb └──0495.韦东山90天双系统_文件目录.txt 68.61kb