
总计: 📁 149 个文件夹, 📄 1259 个文件
📂 黑马嵌入式
├── 📂 01阶段:模拟电路,计算机原理
│ ├── 📂 模拟电路
│ │ ├── 🎬 01_课程背景简介_ev.mp4
│ │ ├── 🎬 02_电流是如何产生的_ev.mp4
│ │ ├── 🎬 03_电流的单位和方向_ev.mp4
│ │ ├── 🎬 04_直流电和交流电_ev.mp4
│ │ ├── 🎬 05_电压的概念_ev.mp4
│ │ ├── 🎬 06_直流电源使用简介_ev.mp4
│ │ ├── 🎬 07_小实验:直流电源_ev.mp4
│ │ ├── 🎬 08_小实验:电压和电流的关系_ev.mp4
│ │ ├── 🎬 09_小实验:led灯的电压和电流_ev.mp4
│ │ ├── 🎬 10_欧姆定律_ev.mp4
│ │ ├── 🎬 11_欧姆定律串并联的计算_ev.mp4
│ │ ├── 🎬 12_根据数据手册计算电阻值_ev.mp4
│ │ ├── 🎬 13_安全电压_ev.mp4
│ │ ├── 🎬 14_电阻器入门_ev.mp4
│ │ ├── 🎬 15_电阻的3个重要参数_ev.mp4
│ │ ├── 🎬 16_电容器_ev.mp4
│ │ ├── 🎬 17_电容的正负极_ev.mp4
│ │ ├── 🎬 18_超级电容_ev.mp4
│ │ ├── 🎬 19_电和磁的关系_ev.mp4
│ │ ├── 🎬 20_电感阻止电流的突变_ev.mp4
│ │ ├── 🎬 21_保险丝和熔断器_ev.mp4
│ │ ├── 🎬 22_连接器_ev.mp4
│ │ ├── 🎬 23_蜂鸣器_ev.mp4
│ │ ├── 🎬 24_万用表测电阻_ev.mp4
│ │ ├── 🎬 25_万用表测电压_ev.mp4
│ │ ├── 🎬 26_万用表测电容和测短路_ev.mp4
│ │ ├── 🎬 27_万用表测电流_ev.mp4
│ │ ├── 🎬 28_ circuitjs的使用_ev.mp4
│ │ ├── 🎬 29_毫安时和毫瓦时_ev.mp4
│ │ ├── 🎬 30_电池和容量概念_ev.mp4
│ │ ├── 🎬 31_欧姆定律和电阻串并联仿真_ev.mp4
│ │ ├── 🎬 32_电容器和电感器的仿真_ev.mp4
│ │ ├── 🎬 33_电感和电容组成开关电源_ev.mp4
│ │ ├── 🎬 34_分压器可变电阻和电位器仿真_ev.mp4
│ │ ├── 🎬 35_电学的几个重要定律_ev.mp4
│ │ ├── 🎬 36_继电器原理_ev.mp4
│ │ ├── 🎬 37_三极管原理_ev.mp4
│ │ ├── 🎬 38_三极管的仿真实验_ev.mp4
│ │ ├── 🎬 39_非接触测电笔_ev.mp4
│ │ ├── 🎬 40_三极管的放大倍数_ev.mp4
│ │ ├── 🎬 41_数据手册_ev.mp4
│ │ ├── 🎬 42_NE555原理图绘制01_ev.mp4
│ │ ├── 🎬 43_ne555的触发和触发控制_ev.mp4
│ │ ├── 🎬 44_双稳态触发器概念_ev.mp4
│ │ ├── 🎬 45_双稳态触发器的变化过程_ev.mp4
│ │ ├── 🎬 46_ne555添加双稳态触发器_ev.mp4
│ │ ├── 🎬 47_ne555外围电路的设计_ev.mp4
│ │ ├── 🎬 48_模拟电路制作电子琴的原理_ev.mp4
│ │ ├── 🎬 49_NE555的硬件创作_ev.mp4
│ │ ├── 🎬 50_嘉立创EDA_ev.mp4
│ │ ├── 🎬 51_原理图和PCB设计_ev.mp4
│ │ ├── 🎬 52_提交订单生产的流程_ev.mp4
│ │ ├── 🎬 53_人体感应控制器_ev.mp4
│ │ ├── 🎬 54_感应控制器的布线_ev.mp4
│ │ ├── 🎬 55_电子琴的原理图绘制_ev.mp4
│ │ ├── 🎬 56_电子琴pcb的绘制_ev.mp4
│ │ ├── 🎬 附:思维导图使用_ev.mp4
│ │ └── 🎬 附:语雀使用_ev.mp4
│ ├── 📂 视频
│ │ ├── 🎬 01_元器件简介_ev.mp4
│ │ ├── 🎬 02_开天斧开发板介绍_ev.mp4
│ │ ├── 🎬 03_ev.mp4
│ │ ├── 🎬 04_如何点灯_ev.mp4
│ │ ├── 🎬 05_板子测试方法_ev.mp4
│ │ └── 🎬 06_扩展板上点灯_ev.mp4
│ └── 📂 计算机组成原理
│ ├── 🎬 01_课程背景介绍_ev.mp4
│ ├── 🎬 02_学习步骤_ev.mp4
│ ├── 🎬 03_计算机历史回顾_ev.mp4
│ ├── 🎬 04_位值计数法_ev.mp4
│ ├── 🎬 05_十进制和二进制_ev.mp4
│ ├── 🎬 06_二进制的运算_ev.mp4
│ ├── 🎬 07_常见的容量单位_ev.mp4
│ ├── 🎬 08_二进制表示文字_ev.mp4
│ ├── 🎬 09_Unicode编码_ev.mp4
│ ├── 🎬 10_二进制存储图片_ev.mp4
│ ├── 🎬 11_声音的二进制存储_ev.mp4
│ ├── 🎬 12_视频文件的二进制存储_ev.mp4
│ ├── 🎬 13_与门电路的搭建_ev.mp4
│ ├── 🎬 14_或门电路的搭建_ev.mp4
│ ├── 🎬 15_非门和异或门电路搭建_ev.mp4
│ ├── 🎬 16_用基础门电路可以搭建任意电路_ev.mp4
│ ├── 🎬 17_与门电路的原理图_ev.mp4
│ ├── 🎬 18_或门异或门的原理图_ev.mp4
│ ├── 🎬 19_门电路pcb的设计_ev.mp4
│ ├── 🖼️ 20230821_234409-0-2.gif
│ ├── 🎬 20_半加器电路的搭建_ev.mp4
│ ├── 🎬 21_全加器电路搭建_ev.mp4
│ ├── 🎬 22_搭建8位的加法器_ev.mp4
│ ├── 🎬 23_改造加法器电路的输入和输出_ev.mp4
│ ├── 🎬 24_下拉电阻修复加法器的bug_ev.mp4
│ ├── 🎬 25_计算机溢出的问题_ev.mp4
│ ├── 🎬 26_补码的计算方法_ev.mp4
│ ├── 🎬 27_乘法和除法电路的实现原理_ev.mp4
│ ├── 🎬 28_系统的加减乘除组件_ev.mp4
│ ├── 🎬 29_电路记忆数据的原理_ev.mp4
│ ├── 🎬 30_用锁存器记录一个bit_ev.mp4
│ ├── 🎬 31_用8个锁存器搭建一个8位寄存器_ev.mp4
│ ├── 🎬 32_使用元器件数量的计算_ev.mp4
│ ├── 🎬 33_时钟的概念_ev.mp4
│ ├── 🎬 34_带有边缘触发的寄存器的实现_ev.mp4
│ ├── 🎬 35_利用继电器构建一个驱动器_ev.mp4
│ ├── 🎬 36_优化内存的走线_ev.mp4
│ ├── 🎬 37_内存单元格的构建_ev.mp4
│ ├── 🎬 38_构建内存单元格和内存地址_ev.mp4
│ ├── 🎬 39_内存条的堆叠工艺_ev.mp4
│ ├── 🎬 40_计算机系统里面的重要概念_ev.mp4
│ ├── 🎬 41_构建一个好用的8位寄存器_ev.mp4
│ ├── 🎬 42_构建一个ALU模块_ev.mp4
│ ├── 🎬 43_搭建CPU的内部ALU_ev.mp4
│ ├── 🎬 44_搭建计算机的外部内存_ev.mp4
│ ├── 🎬 45_计算机系统搭建粗稿_ev.mp4
│ ├── 🎬 46_手动版本计算机一代_ev.mp4
│ ├── 🎬 47_手动版本计数器二代_ev.mp4
│ ├── 🎬 48_修复一个短路的小细节_ev.mp4
│ ├── 🎬 49_手动完成计算机程序的执行_ev.mp4
│ ├── 🎬 50_显卡和显存工作的原理_ev.mp4
│ ├── 🎬 51_显示器驱动程序原理_ev.mp4
│ ├── 🎬 52_查找表的工作原理_ev.mp4
│ ├── 🎬 53_增加CPU的控制单元_ev.mp4
│ ├── 🎬 54_CPU的控制器实现_ev.mp4
│ ├── 🎬 55_自动CPU的完成_ev.mp4
│ ├── 🎬 56_ip核,后门和漏洞_ev.mp4
│ ├── 🎬 57_高性能cpu技术_ev.mp4
│ ├── 🎬 58_杂项知识点_ev.mp4
│ └── 🎬 附:复习01_ev.mp4
├── 📂 02阶段:C语言编程
│ ├── 📂 day01
│ │ └── 📂 视频
│ │ ├── 🎬 10_可移植类型_ev.mp4
│ │ ├── 🎬 11_常量&系统中定义的常量_ev.mp4
│ │ ├── 🎬 12_进制表示_ev.mp4
│ │ ├── 🎬 13_上午小结_ev.mp4
│ │ ├── 🎬 14_原码&反码&补码_ev.mp4
│ │ ├── 🎬 15_输出函数printf&占位符_ev.mp4
│ │ ├── 🎬 16_scanf输入函数_ev.mp4
│ │ ├── 🎬 17_圆的周长&面积计算_ev.mp4
│ │ ├── 🎬 18_算数运算符_ev.mp4
│ │ ├── 🎬 19_赋值运算符_ev.mp4
│ │ ├── 🎬 1_C语言简介_ev.mp4
│ │ ├── 🎬 20_比较运算符_ev.mp4
│ │ ├── 🎬 21_逻辑运算符_ev.mp4
│ │ ├── 🎬 22_今日总结_ev.mp4
│ │ ├── 🎬 2_C语言编程环境_ev.mp4
│ │ ├── 🎬 3_C代码块设置_ev.mp4
│ │ ├── 🎬 4_HelloWorld程序解析&注释_ev.mp4
│ │ ├── 🎬 5_变量的语法_ev.mp4
│ │ ├── 🎬 6_标识符命名规则_ev.mp4
│ │ ├── 🎬 7_char类型_ev.mp4
│ │ ├── 🎬 8_布尔类型_ev.mp4
│ │ └── 🎬 9_数据类型的长度_ev.mp4
│ ├── 📂 day02
│ │ └── 📂 视频
│ │ ├── 🎬 10_if&ifelse示例_ev.mp4
│ │ ├── 🎬 11_三元运算符_ev.mp4
│ │ ├── 🎬 12_天猫购物案例_ev.mp4
│ │ ├── 🎬 13_天猫购物案例优化版_ev.mp4
│ │ ├── 🎬 14_switch案例_ev.mp4
│ │ ├── 🎬 15_分支的综合案例_ev.mp4
│ │ ├── 🎬 16_while&do_while循环_ev.mp4
│ │ ├── 🎬 17_死循环_ev.mp4
│ │ ├── 🎬 18_循环嵌套_ev.mp4
│ │ ├── 🎬 19_break关键字_ev.mp4
│ │ ├── 🎬 1_作业练习_ev.mp4
│ │ ├── 🎬 20_continue关键字_ev.mp4
│ │ ├── 🎬 21_goto关键字_ev.mp4
│ │ ├── 🎬 2_与运算_ev.mp4
│ │ ├── 🎬 3_或&异或运算_ev.mp4
│ │ ├── 🎬 4_取反运算_ev.mp4
│ │ ├── 🎬 5_左移&右移运算符_ev.mp4
│ │ ├── 🎬 6_位移运算示例_ev.mp4
│ │ ├── 🎬 7_位移运算综合练习_ev.mp4
│ │ ├── 🎬 8_类型转换_ev.mp4
│ │ └── 🎬 9_上午总结_ev.mp4
│ ├── 📂 day03
│ │ └── 📂 视频
│ │ ├── 🎬 0_作业练习_ev.mp4
│ │ ├── 🎬 10_指针变量的定义和使用_ev.mp4
│ │ ├── 🎬 11_const修饰指针变量的使用_ev.mp4
│ │ ├── 🎬 12_指针的大小_ev.mp4
│ │ ├── 🎬 13_指针的步长_ev.mp4
│ │ ├── 🎬 14_野指针与空指针_ev.mp4
│ │ ├── 🎬 15_多级指针_ev.mp4
│ │ ├── 🎬 16_值传递&址传递_ev.mp4
│ │ ├── 🎬 17_函数指针_ev.mp4
│ │ ├── 🎬 18_今日总结_ev.mp4
│ │ ├── 🎬 1_函数的概述_ev.mp4
│ │ ├── 🎬 2_无参无返回值函数_ev.mp4
│ │ ├── 🎬 3_有参无返回值&有参有返回值函数_ev.mp4
│ │ ├── 🎬 4_函数的声明&案例_ev.mp4
│ │ ├── 🎬 5_局部变量&全局变量_ev.mp4
│ │ ├── 🎬 6_多文件编程_ev.mp4
│ │ ├── 🎬 7_extern关键字_ev.mp4
│ │ ├── 🎬 8_指针的概念_ev.mp4
│ │ └── 🎬 9_上午总结_ev.mp4
│ ├── 📂 day04
│ │ └── 📂 视频
│ │ ├── 🎬 10_上午小结_ev.mp4
│ │ ├── 🎬 11_字符串输入输出_ev.mp4
│ │ ├── 🎬 12_字符指针&字符串库函数_ev.mp4
│ │ ├── 🎬 13_字符串案例_ev.mp4
│ │ ├── 🎬 14_结构体的定义&使用_ev.mp4
│ │ ├── 🎬 15_结构体值传递&址传递_ev.mp4
│ │ ├── 🎬 16_共用体_ev.mp4
│ │ ├── 🎬 17_枚举_ev.mp4
│ │ ├── 🎬 18_typedef关键字_ev.mp4
│ │ ├── 🎬 19_今日总结_ev.mp4
│ │ ├── 🎬 1_回顾_ev.mp4
│ │ ├── 🎬 2_作业练习_ev.mp4
│ │ ├── 🎬 2_数组的使用_ev.mp4
│ │ ├── 🎬 3_数组求最大值_ev.mp4
│ │ ├── 🎬 3_数组的初始化及名字的含义_ev.mp4
│ │ ├── 🎬 4_数组案例_ev.mp4
│ │ ├── 🎬 5_回调函数_ev.mp4
│ │ ├── 🎬 6_数组和指针_ev.mp4
│ │ ├── 🎬 7_指针数组_ev.mp4
│ │ ├── 🎬 8_数组名做参数传递_ev.mp4
│ │ └── 🎬 9_字符串与字符数组的关系_ev.mp4
│ ├── 📂 day05
│ │ └── 📂 视频
│ │ ├── 🎬 10_链表的实现(打印输入&删除节点)_ev.mp4
│ │ ├── 🎬 11_链表的实现(更新节点)_ev.mp4
│ │ ├── 🎬 12_智能门锁管理系统简介_ev.mp4
│ │ ├── 🎬 13_欢迎界面_ev.mp4
│ │ ├── 🎬 14_管理界面&密码管理界面_ev.mp4
│ │ ├── 🎬 15_密码存储链表头文件声明_ev.mp4
│ │ ├── 🎬 1_作业练习1_ev.mp4
│ │ ├── 🎬 2_作业练习2_ev.mp4
│ │ ├── 🎬 3_内存分布介绍_ev.mp4
│ │ ├── 🎬 4_堆内存的使用_ev.mp4
│ │ ├── 🎬 5_内存分布代码分析_ev.mp4
│ │ ├── 🎬 6_链表介绍_ev.mp4
│ │ ├── 🎬 7_链表的实现(节点创建&增删改查函数声明)_ev.mp4
│ │ ├── 🎬 8_链表的实现(节点的添加)_ev.mp4
│ │ └── 🎬 9_上午总结_ev.mp4
│ └── 📂 day06
│ └── 📂 视频
│ ├── 🎬 1_添加密码_ev.mp4
│ ├── 🎬 2_需求变更(添加密码)_ev.mp4
│ ├── 🎬 3_删除密码(界面)_ev.mp4
│ ├── 🎬 4_删除密码(链表删除)_ev.mp4
│ ├── 🎬 5_删除所有密码(界面+链表删除)_ev.mp4
│ └── 🎬 c语言总结_ev.mp4
├── 📂 03阶段:STC8增强型单片机开发
│ ├── 📂 day01
│ │ └── 📂 Video
│ │ ├── 🎬 00_课程简介_ev.mp4
│ │ ├── 🎬 01_STC系列产品介绍_ev.mp4
│ │ ├── 🎬 02_MCU的CPU和外设关系_ev.mp4
│ │ ├── 🎬 03_Keil软件的安装与激活_ev.mp4
│ │ ├── 🎬 04_Keil创建第一个STC8工程_ev.mp4
│ │ ├── 🎬 05_Keil编写代码及烧录流程_ev.mp4
│ │ └── 🎬 06_IO模式配置_ev.mp4
│ ├── 📂 day02
│ │ └── 📂 Video
│ │ ├── 🎬 00_知识回顾_ev.mp4
│ │ ├── 🎬 01_IO模式_高阻输入&开漏输出_ev.mp4
│ │ ├── 🎬 02_软延时操作_ev.mp4
│ │ ├── 🎬 03_点灯_通过寄存器实现_ev.mp4
│ │ ├── 🎬 04_点灯_通过库函数实现1_ev.mp4
│ │ ├── 🎬 05_点灯_通过库函数实现2_ev.mp4
│ │ ├── 🎬 06_通过Delay库函数实现延时_ev.mp4
│ │ ├── 🎬 07_LogicAnalyzer逻辑分析仪的使用_ev.mp4
│ │ ├── 🎬 08_AStyle格式化工具_ev.mp4
│ │ ├── 🎬 09_UART串口基础知识_ev.mp4
│ │ ├── 🎬 10_UART初始化_ev.mp4
│ │ ├── 🎬 11_UART初始化重点注意_ev.mp4
│ │ ├── 🎬 12_UART数据的接收并回显_ev.mp4
│ │ ├── 🎬 13_UART重点注意_ev.mp4
│ │ ├── 🎬 14_使用逻辑分析仪解析数据_ev.mp4
│ │ ├── 🎬 15_串口通讯测试需求_ev.mp4
│ │ └── 🎬 16_UART1和UART4数据通讯实现_ev.mp4
│ ├── 📂 day03
│ │ └── 📂 Video
│ │ ├── 🎬 00_知识回顾_ev.mp4
│ │ ├── 🎬 01_认识中断系统_ev.mp4
│ │ ├── 🎬 02_UART1数据接收发送_寄存器形式_ev.mp4
│ │ ├── 🎬 03_通过UART1中断函数开关灯_ev.mp4
│ │ ├── 🎬 04_不同主频下机器周期的执行时间_ev.mp4
│ │ ├── 🎬 05_extern关键字_ev.mp4
│ │ ├── 🎬 06_extern关键字_封装头文件_ev.mp4
│ │ ├── 🎬 07_Timer的初始化及配置_ev.mp4
│ │ ├── 🎬 08_Timer的定时器自动重装机制_ev.mp4
│ │ ├── 🎬 09_Timer利用extern实现自己的业务_ev.mp4
│ │ ├── 🎬 10_LED灯组_全部点亮_ev.mp4
│ │ ├── 🎬 11_LED_SW总开关失效的解决方法_ev.mp4
│ │ └── 🎬 12_LED灯组_走马灯_ev.mp4
│ ├── 📂 day04
│ │ └── 📂 Video
│ │ ├── 🎬 00_知识回顾_ev.mp4
│ │ ├── 🎬 01_LED灯组_UART串口控制_ev.mp4
│ │ ├── 🎬 02_UART接收数据判断逻辑_ev.mp4
│ │ ├── 🎬 03_LED灯组_Timer调整灯的亮灭_ev.mp4
│ │ ├── 🎬 04_LED灯组_Timer配合UART调整duty_ev.mp4
│ │ ├── 🎬 05_PWM简介_ev.mp4
│ │ ├── 🎬 06_LED灯组_PWM控制_ev.mp4
│ │ ├── 🎬 07_LED灯组_PWM呼吸灯_ev.mp4
│ │ ├── 🎬 08_LED灯组_串口控制PWM占空比_ev.mp4
│ │ ├── 🎬 09_PWM死区设置_ev.mp4
│ │ ├── 🎬 10_LED灯组_8路PWM控制_ev.mp4
│ │ ├── 🎬 11_震动马达_ev.mp4
│ │ ├── 🎬 12_震动马达_PWM控制_ev.mp4
│ │ ├── 🎬 13_ADC采样_电位器电压_ev.mp4
│ │ ├── 🎬 14_ADC采样_内部1.19V参考信号源_ev.mp4
│ │ └── 🎬 15_ADC采样_热敏电阻测温原理_ev.mp4
│ ├── 📂 day05
│ │ └── 📂 Video
│ │ ├── 🎬 00_PWM频率&周期&占空比_ev.mp4
│ │ ├── 🎬 01_知识回顾_ev.mp4
│ │ ├── 🎬 02_ADC采样_热敏电阻_求出阻值_ev.mp4
│ │ ├── 🎬 03_ADC采样_热敏电阻_根据阻值查出温度_ev.mp4
│ │ ├── 🎬 04_ADC采样_热敏电阻_封装NTC_ev.mp4
│ │ ├── 🎬 05_ADC采样_热敏电阻_封装NTC优化_ev.mp4
│ │ ├── 🎬 06_独立按键_获取单个按钮状态_ev.mp4
│ │ ├── 🎬 07_独立按键_获取多个按钮状态_ev.mp4
│ │ ├── 🎬 08_独立按键_使用位操作_ev.mp4
│ │ ├── 🎬 09_数码管_认识数码管_ev.mp4
│ │ ├── 🎬 10_数码管_使用Digtal模拟_ev.mp4
│ │ ├── 🎬 11_数码管_移位寄存器的操作方式_ev.mp4
│ │ └── 🎬 12_数码管_输出数据到移位寄存器_ev.mp4
│ ├── 📂 day06
│ │ └── 📂 Video
│ │ ├── 🎬 00_知识回顾_ev.mp4
│ │ ├── 🎬 01_数码管_两个字节控制_ev.mp4
│ │ ├── 🎬 02_数码管_封装库函数show_ev.mp4
│ │ ├── 🎬 03_数码管_封装库函数display_ev.mp4
│ │ ├── 🎬 04_数码管_其他引脚功能_ev.mp4
│ │ ├── 🎬 05_数码管_函数优化_ev.mp4
│ │ ├── 🎬 06_蜂鸣器_发声原理_ev.mp4
│ │ ├── 🎬 07_蜂鸣器_基础乐理知识_ev.mp4
│ │ ├── 🎬 08_蜂鸣器_播放哆来咪发唆拉西哆_ev.mp4
│ │ ├── 🎬 09_蜂鸣器_使用PWM播放_ev.mp4
│ │ ├── 🎬 10_蜂鸣器_两只老虎乐谱_ev.mp4
│ │ ├── 🎬 11_蜂鸣器_播放两只老虎_ev.mp4
│ │ └── 🎬 12_蜂鸣器_播放天空之城_ev.mp4
│ ├── 📂 day07
│ │ └── 📂 Video
│ │ ├── 🎬 00_知识回顾_ev.mp4
│ │ ├── 🎬 01_RTC时钟芯片的电路_ev.mp4
│ │ ├── 🎬 02_I2C总线简介_ev.mp4
│ │ ├── 🎬 03_I2C开发环境准备_ev.mp4
│ │ ├── 🎬 04_RTC时钟芯片PCF8563文档阅读_ev.mp4
│ │ ├── 🎬 05_RTC时钟_读取数据_秒_ev.mp4
│ │ ├── 🎬 06_I2C协议读写流程_ev.mp4
│ │ ├── 🎬 07_RTC时钟_读取秒分时_ev.mp4
│ │ ├── 🎬 08_RTC时钟_读取年月日_ev.mp4
│ │ ├── 🎬 09_RTC时钟_写秒分时日月年_ev.mp4
│ │ ├── 🎬 10_RTC时钟_封装读写函数_ev.mp4
│ │ ├── 🎬 11_外部中断_INT0_ev.mp4
│ │ ├── 🎬 12_外部中断_INT3_ev.mp4
│ │ └── 🎬 13_RTC时钟_设置闹钟Alarm_ev.mp4
│ ├── 📂 day08
│ │ └── 📂 Video
│ │ ├── 🎬 01_考试题讲解_ev.mp4
│ │ ├── 🎬 02_考题讲解2_ev.mp4
│ │ ├── 🎬 03_RTC时钟_封装Alarm_ev.mp4
│ │ ├── 🎬 04_RTC时钟_封装Alarm2_ev.mp4
│ │ ├── 🎬 05_RTC时钟_Timer的开发流程_ev.mp4
│ │ ├── 🎬 06_RTC时钟_实现Timer_ev.mp4
│ │ ├── 🎬 07_RTC时钟_Timer封装_ev.mp4
│ │ └── 🎬 08_RTC时钟_区分Timer和Alarm_ev.mp4
│ ├── 📂 day09
│ │ └── 📂 Video
│ │ ├── 🎬 00_知识回顾_ev.mp4
│ │ ├── 🎬 01_RTC时钟_I2C读写数据_单独启用Alarm&Timer_ev.mp4
│ │ ├── 🎬 02_0.96寸OLED显示屏_介绍_ev.mp4
│ │ ├── 🎬 03_0.96寸OLED显示屏C51_IIC官方示例_ev.mp4
│ │ ├── 🎬 04_0.96寸OLED显示屏_显示字符&汉字_ev.mp4
│ │ ├── 🎬 05_0.96寸OLED显示屏_显示图片_ev.mp4
│ │ ├── 🎬 06_0.96寸OLED显示屏_移植OLED为I2C硬实现_ev.mp4
│ │ ├── 🎬 07_0.96寸OLED显示屏_显示日期时间_ev.mp4
│ │ ├── 🎬 08_I2C通讯数据查看_逻辑分析仪_ev.mp4
│ │ ├── 🎬 09_DHT11温湿度传感器的数据时序_ev.mp4
│ │ ├── 🎬 10_DHT11温湿度_解析数据_ev.mp4
│ │ ├── 🎬 11_DHT11温湿度_解析40个bit_ev.mp4
│ │ └── 🎬 授人以渔_ev.mp4
│ ├── 📂 day10
│ │ └── 📂 Video
│ │ ├── 🎬 00_知识回顾_ev.mp4
│ │ ├── 🎬 01_DHT11温湿度传感器_解析数据_ev.mp4
│ │ ├── 🎬 02_DHT11温湿度传感器_解决潜在bug_ev.mp4
│ │ ├── 🎬 03_DHT11温湿度传感器_封装_ev.mp4
│ │ ├── 🎬 04_SPI协议OLED屏幕_SPI通讯流程_ev.mp4
│ │ ├── 🎬 05_SPI协议OLED屏幕_官方示例_ev.mp4
│ │ ├── 🎬 06_SPI协议OLED屏幕_官方示例API_ev.mp4
│ │ ├── 🎬 07_矩阵键盘_单个按钮_ev.mp4
│ │ ├── 🎬 08_矩阵键盘_多个按钮_ev.mp4
│ │ ├── 🎬 09_矩阵键盘_全部按钮_数组存储状态_ev.mp4
│ │ ├── 🎬 10_矩阵键盘_全部按钮_二进制位存储状态_ev.mp4
│ │ ├── 🎬 11_矩阵键盘_全部按钮_封装_ev.mp4
│ │ ├── 🎬 12_了解EEPROM_ev.mp4
│ │ ├── 🎬 13_使用EEPROM读写str_ev.mp4
│ │ └── 🎬 编辑器&浏览器配置_ev.mp4
│ ├── 📂 day11
│ │ └── 📂 Video
│ │ ├── 🎬 00_知识回顾_ev.mp4
│ │ ├── 🎬 01_HID官方示例_ev.mp4
│ │ ├── 🎬 02_HID文件了解_ev.mp4
│ │ ├── 🎬 03_封装USB的HID协议驱动_ev.mp4
│ │ ├── 🎬 04_USB键盘_集成矩阵键盘_ev.mp4
│ │ ├── 🎬 05_USB键盘_封装发送函数&点灯_ev.mp4
│ │ ├── 🎬 06_USB键盘_Config描述符_ev.mp4
│ │ ├── 🎬 07_USB键盘_配置HID描述符_ev.mp4
│ │ ├── 🎬 08_USB键盘_发送多个按键_ev.mp4
│ │ ├── 🎬 09_USB键盘_避免频繁发送数据_ev.mp4
│ │ ├── 🎬 10_USB键盘_PC_OUT获取LOCK状态_ev.mp4
│ │ ├── 🎬 11_USB键盘_封装LED回调函数_ev.mp4
│ │ ├── 🎬 12_USB鼠标_描述符配置_ev.mp4
│ │ ├── 🎬 13_USB鼠标_实现移动&按键_ev.mp4
│ │ └── 🎬 小车焊接_ev.mp4
│ ├── 📂 day12
│ │ └── 📂 Video
│ │ ├── 🎬 00_知识回顾_ev.mp4
│ │ ├── 🎬 01_今日任务_ev.mp4
│ │ ├── 🎬 02_新建STC8H原理图&供电_ev.mp4
│ │ ├── 🎬 03_CH340及周围电路_ev.mp4
│ │ ├── 🎬 04_CH340的二极管和电阻_ev.mp4
│ │ ├── 🎬 05_线性稳压器5V-3V3_ev.mp4
│ │ ├── 🎬 06_线性稳压器LDO_可调输出ADJ_ev.mp4
│ │ ├── 🎬 07_Type-C接口_ev.mp4
│ │ ├── 🎬 08_LED指示灯_ev.mp4
│ │ ├── 🎬 09_串口和HID切换&所有引脚_ev.mp4
│ │ ├── 🎬 10_替换电容电阻为0603_ev.mp4
│ │ ├── 🎬 11_PCB设计_摆放元器件_ev.mp4
│ │ ├── 🎬 12_PCB设计_电源布线_ev.mp4
│ │ └── 🎬 小车自测固件_ev.mp4
│ ├── 📂 day13
│ │ └── 📂 Video
│ │ ├── 🎬 01_串口烧录器_SCH提取_ev.mp4
│ │ ├── 🎬 02_串口烧录器_PCB布局_ev.mp4
│ │ ├── 🎬 03_串口烧录器_PCB走线_ev.mp4
│ │ ├── 🎬 04_串口烧录器_端子接线问题_ev.mp4
│ │ ├── 🎬 05_小闹钟_SCH_时钟芯片_ev.mp4
│ │ ├── 🎬 06_小闹钟_PCB_摆放器件_ev.mp4
│ │ ├── 🎬 06_小闹钟_SCH_其他外设_ev.mp4
│ │ └── 🎬 07_小闹钟_PCB电源走线_ev.mp4
│ ├── 📂 day14
│ │ └── 📂 Video
│ │ ├── 🎬 00_知识复习_ev.mp4
│ │ ├── 🎬 01_了解最小操作系统_ev.mp4
│ │ ├── 🎬 02_RTX51系统_环境初始化_ev.mp4
│ │ ├── 🎬 03_RTX51系统_多任务执行_ev.mp4
│ │ ├── 🎬 04_RTX51系统_集成库函数_ev.mp4
│ │ ├── 🎬 05_RTX51系统_K_TMO和K_IVL区别_ev.mp4
│ │ ├── 🎬 06_RTX51系统_K_SIG信号_ev.mp4
│ │ ├── 🎬 07_RTX51系统_外设驱动_ev.mp4
│ │ ├── 🎬 08_RTX51系统_按键更新数码管_ev.mp4
│ │ ├── 🎬 09_巡线小车_简介_ev.mp4
│ │ ├── 🎬 10_巡线小车_车灯控制_ev.mp4
│ │ ├── 🎬 11_巡线小车_按键控制_ev.mp4
│ │ ├── 🎬 12_巡线小车_ADC电压检测Battery_ev.mp4
│ │ └── 🎬 13_巡线小车_蜂鸣器Buzzer_ev.mp4
│ ├── 📂 day15
│ │ └── 📂 Video
│ │ ├── 🎬 00_知识回顾_ev.mp4
│ │ ├── 🎬 01_超声测距_原理_ev.mp4
│ │ ├── 🎬 02_超声测距_TRIG触发测距_ev.mp4
│ │ ├── 🎬 03_超声测距_ECHO计算距离_ev.mp4
│ │ ├── 🎬 04_循迹传感器_原理介绍_ev.mp4
│ │ ├── 🎬 05_循迹传感器_读取所有光电传感器状态_ev.mp4
│ │ ├── 🎬 06_循迹传感器_计算小车转弯方向_ev.mp4
│ │ ├── 🎬 07_循迹传感器_光电传感器问题排查_ev.mp4
│ │ ├── 🎬 08_巡线小车_IO控制电机_ev.mp4
│ │ ├── 🎬 09_巡线小车_PWM控制小车速度_ev.mp4
│ │ ├── 🎬 10_巡线小车_PWM控制前进后退_ev.mp4
│ │ ├── 🎬 11_巡线小车_PWM控制所有车轮_ev.mp4
│ │ └── 🎬 12_巡线小车_PWM指定速度实现转弯&掉头_ev.mp4
│ ├── 📂 day16
│ │ └── 📂 Video
│ │ ├── 🎬 01_巡线小车_根据按钮切换巡线功能_ev.mp4
│ │ ├── 🎬 02_巡线小车_根据巡线传感器调整方向_ev.mp4
│ │ ├── 🎬 03_蓝牙模块_简介_ev.mp4
│ │ ├── 🎬 04_蓝牙模块_通讯流程_ev.mp4
│ │ ├── 🎬 05_蓝牙模块_AT指令1_ev.mp4
│ │ ├── 🎬 06_蓝牙模块_AT指令2_ev.mp4
│ │ ├── 🎬 07_蓝牙模块_通过核心板直连_ev.mp4
│ │ ├── 🎬 08_蓝牙模块_通过PC或手机蓝牙连接_ev.mp4
│ │ ├── 🎬 09_蓝牙模块_接收消息并执行_ev.mp4
│ │ ├── 🎬 10_遥控小车_接收并处理模拟遥控器数据_ev.mp4
│ │ ├── 🎬 11_遥控小车_启用禁用超声测距模块_ev.mp4
│ │ ├── 🎬 12_遥控小车_启用禁用巡线_ev.mp4
│ │ ├── 🎬 13_遥控小车_遇到前方障碍物停车_ev.mp4
│ │ ├── 🎬 14_遥控小车_电量监测_ev.mp4
│ │ └── 🎬 15_遥控小车_方向控制_ev.mp4
│ └── 📂 day17
│ └── 📂 Video
│ ├── 🎬 00_舵机PWM的控制原理_ev.mp4
│ ├── 🎬 01_舵机PWM_工程初始化_ev.mp4
│ ├── 🎬 02_舵机PWM_分频系数_ev.mp4
│ └── 🎬 03_舵机PWM_修改不同的占空比_ev.mp4
├── 📂 04阶段:Python与上位机开发
│ ├── 📂 day01
│ │ └── 📂 Video
│ │ ├── 🎬 00_课程简介_ev.mp4
│ │ ├── 🎬 01_python语言简介_ev.mp4
│ │ ├── 🎬 02_python环境安装2_ev.mp4
│ │ ├── 🎬 02_python环境安装_ev.mp4
│ │ ├── 🎬 03_Python的第一个程序_ev.mp4
│ │ ├── 🎬 04_VSCode安装及配置_ev.mp4
│ │ ├── 🎬 05_Python的基本数据类型_ev.mp4
│ │ ├── 🎬 06_Python变量及运算符_ev.mp4
│ │ ├── 🎬 07_Python输入输出函数_ev.mp4
│ │ ├── 🎬 08_Python输入输出练习_ev.mp4
│ │ ├── 🎬 09_常见运算符_ev.mp4
│ │ ├── 🎬 10_if条件控制_ev.mp4
│ │ ├── 🎬 11_if条件控制_嵌套_ev.mp4
│ │ ├── 🎬 12_if条件控制_练习_ev.mp4
│ │ ├── 🎬 13_while循环_ev.mp4
│ │ ├── 🎬 14_for循环_ev.mp4
│ │ └── 🎬 15_for循环_else_ev.mp4
│ ├── 📂 day02
│ │ └── 📂 Video
│ │ ├── 🎬 00_Python基础知识回顾_ev.mp4
│ │ ├── 🎬 01_list列表_ev.mp4
│ │ ├── 🎬 02_list列表_练习-办公室分配_ev.mp4
│ │ ├── 🎬 03_tuple元组_ev.mp4
│ │ ├── 🎬 04_function函数_ev.mp4
│ │ ├── 🎬 05_函数的注意事项_ev.mp4
│ │ ├── 🎬 06_黑马名片管理系统_ev.mp4
│ │ ├── 🎬 07_黑马名片管理系统2_ev.mp4
│ │ ├── 🎬 08_str字符串的常见操作_ev.mp4
│ │ ├── 🎬 09_练习_用户名和密码校验_ev.mp4
│ │ ├── 🎬 10_set集合_ev.mp4
│ │ ├── 🎬 11_dict字典的基本操作_ev.mp4
│ │ ├── 🎬 12_dict字典的遍历_ev.mp4
│ │ ├── 🎬 13_slice切片_ev.mp4
│ │ └── 🎬 国庆作业_ev.mp4
│ ├── 📂 day03
│ │ └── 📂 Video
│ │ ├── 🎬 00_知识回顾_ev.mp4
│ │ ├── 🎬 01_推导式_ev.mp4
│ │ ├── 🎬 02_高级变量的公共语法_ev.mp4
│ │ ├── 🎬 03_练习_字符串的逆序统计_ev.mp4
│ │ ├── 🎬 04_面向对象概念_ev.mp4
│ │ ├── 🎬 05_类和对象_ev.mp4
│ │ ├── 🎬 06_声明类&创建对象_ev.mp4
│ │ ├── 🎬 07_类的组成_ev.mp4
│ │ ├── 🎬 08_特殊方法和参数_ev.mp4
│ │ ├── 🎬 09_练习_搬家具进房子_ev.mp4
│ │ ├── 🎬 10_str和repr_ev.mp4
│ │ ├── 🎬 11_private私有化_ev.mp4
│ │ ├── 🎬 12_面向对象_封装_ev.mp4
│ │ ├── 🎬 13_面向对象_继承_ev.mp4
│ │ ├── 🎬 14_面向对象_多态_ev.mp4
│ │ ├── 🎬 15_面向对象_扩展知识_ev.mp4
│ │ ├── 🎬 16_pygame环境准备_ev.mp4
│ │ └── 🎬 17_pygame创建窗口_ev.mp4
│ ├── 📂 day04
│ │ └── 📂 Video
│ │ ├── 🎬 00_知识回顾_ev.mp4
│ │ ├── 🎬 01_pygame基本操作_ev.mp4
│ │ ├── 🎬 02_pygame手动计算fps_ev.mp4
│ │ ├── 🎬 03_pygame自动计算fps_Clock_ev.mp4
│ │ ├── 🎬 04_pygame绘制背景图&线条_ev.mp4
│ │ ├── 🎬 05_pygame封装Snake和Food_ev.mp4
│ │ ├── 🎬 06_pygame蛇身移动起来_ev.mp4
│ │ ├── 🎬 07_pygame蛇身根据用户输入更新方向_ev.mp4
│ │ ├── 🎬 08_pygame封装Game类_ev.mp4
│ │ ├── 🎬 09_pygame更新蛇头图标_ev.mp4
│ │ ├── 🎬 10_pygame吃掉食物&更新食物_ev.mp4
│ │ ├── 🎬 11_pygame碰撞墙壁&身体判定_ev.mp4
│ │ ├── 🎬 12_pygame游戏结束&文字绘制_ev.mp4
│ │ ├── 🎬 13_pygame穿墙从另一端出现&原地调头bug_ev.mp4
│ │ └── 🎬 14_pygame其他细节_ev.mp4
│ ├── 📂 day05
│ │ └── 📂 Video
│ │ ├── 🎬 00_知识回顾_ev.mp4
│ │ ├── 🎬 01_module_导入模块中的功能_ev.mp4
│ │ ├── 🎬 02_module_模块导入冲突及解决_ev.mp4
│ │ ├── 🎬 03_模块内置变量__name___ev.mp4
│ │ ├── 🎬 04_VSCode配置常用代码块_ev.mp4
│ │ ├── 🎬 05_包package_ev.mp4
│ │ ├── 🎬 06_常用系统内置模块sys_datetime等_ev.mp4
│ │ ├── 🎬 07_常用系统内置模块2_random_math_ev.mp4
│ │ ├── 🎬 08_异常捕获try_except_ev.mp4
│ │ ├── 🎬 09_异常捕获try_except_finally_ev.mp4
│ │ ├── 🎬 10_异常捕获try_except_else_finally_ev.mp4
│ │ ├── 🎬 11_常见异常_ev.mp4
│ │ ├── 🎬 12_自定义异常_ev.mp4
│ │ ├── 🎬 13_多个异常捕获&异常的返回值_ev.mp4
│ │ ├── 🎬 14_默认值参数和关键字参数_ev.mp4
│ │ ├── 🎬 15_练习-根据需要创建用户_ev.mp4
│ │ ├── 🎬 16_可变参数_ev.mp4
│ │ ├── 🎬 17_可变参数_组合使用_ev.mp4
│ │ ├── 🎬 18_递归函数_ev.mp4
│ │ ├── 🎬 19_文件的读取_ev.mp4
│ │ ├── 🎬 20_文件的写入_ev.mp4
│ │ ├── 🎬 21_文件读写模式_ev.mp4
│ │ ├── 🎬 22_绝对路径&相对路径_ev.mp4
│ │ └── 🎬 23_练习_文件IO_ev.mp4
│ ├── 📂 day06
│ │ └── 📂 Video
│ │ ├── 🎬 00_知识回顾_ev.mp4
│ │ ├── 🎬 01_版本控制系统Git_ev.mp4
│ │ ├── 🎬 02_git常用命令_ev.mp4
│ │ ├── 🎬 03_配置忽略文件_ev.mp4
│ │ ├── 🎬 04_GUI工具操作_ev.mp4
│ │ ├── 🎬 05_将新建项目&已有项目添加版本管理_ev.mp4
│ │ ├── 🎬 06_使用VSCode编辑器提交代码_ev.mp4
│ │ ├── 🎬 07_分支reset操作_ev.mp4
│ │ ├── 🎬 08_冲突的产生及解决_ev.mp4
│ │ ├── 🎬 09_Git分支操作_ev.mp4
│ │ └── 🎬 10_PyQt5概述_ev.mp4
│ ├── 📂 day07
│ │ └── 📂 Video
│ │ ├── 🎬 00_知识回顾_ev.mp4
│ │ ├── 🎬 01_PyQt环境搭建_VSCode插件_ev.mp4
│ │ ├── 🎬 02_PyQt创建窗口&并设置窗口信息_ev.mp4
│ │ ├── 🎬 03_PyQt文本、图片及输入组件_ev.mp4
│ │ ├── 🎬 04_PyQt按钮_ev.mp4
│ │ ├── 🎬 04_槽函数使用lambda表达式_ev.mp4
│ │ ├── 🎬 05_信号关联系统函数_ev.mp4
│ │ ├── 🎬 06_PyQt布局layout_ev.mp4
│ │ ├── 🎬 07_PyQt对话框_ev.mp4
│ │ ├── 🎬 08_单选&多选输入_ev.mp4
│ │ ├── 🎬 09_面向对象开发QWidget_ev.mp4
│ │ ├── 🎬 10_加载QWidget自定义ui文件_ev.mp4
│ │ ├── 🎬 11_QWidget&关联槽函数问题_ev.mp4
│ │ ├── 🎬 12_加载QMainWindow自定义ui文件_ev.mp4
│ │ ├── 🎬 13_QtDesigner主要功能_ev.mp4
│ │ └── 🎬 14_自定义主题qt-material_ev.mp4
│ ├── 📂 day08
│ │ └── 📂 Video
│ │ ├── 🎬 00_知识回顾_ev.mp4
│ │ ├── 🎬 01_IP地址_ev.mp4
│ │ ├── 🎬 02_端口和端口号_ev.mp4
│ │ ├── 🎬 03_socket套接字_ev.mp4
│ │ ├── 🎬 04_字符串数据编解码_ev.mp4
│ │ ├── 🎬 05_TCP特点_ev.mp4
│ │ ├── 🎬 06_TCP拓展知识_三次握手&四次挥手_ev.mp4
│ │ ├── 🎬 07_TCP网络程序开发流程_ev.mp4
│ │ ├── 🎬 08_TCP客户端发送并接收消息_ev.mp4
│ │ ├── 🎬 09_TCP服务端_接受并回复消息_ev.mp4
│ │ ├── 🎬 10_TCP服务端_循环接受客户端_ev.mp4
│ │ ├── 🎬 11_UDP介绍_ev.mp4
│ │ ├── 🎬 12_UDP发送端代码实现_ev.mp4
│ │ ├── 🎬 13_UDP接收端代码实现_ev.mp4
│ │ ├── 🎬 14_UDP广播_ev.mp4
│ │ ├── 🎬 15_多任务介绍_并发&并行_ev.mp4
│ │ ├── 🎬 16_多任务开发-线程_ev.mp4
│ │ ├── 🎬 17_给线程添加参数_ev.mp4
│ │ ├── 🎬 18_守护线程_ev.mp4
│ │ ├── 🎬 19_同步和异步_ev.mp4
│ │ ├── 🎬 20_练习:多任务版TCP服务器_ev.mp4
│ │ └── 🎬 21_Python的venv虚拟环境_ev.mp4
│ ├── 📂 day09
│ │ └── 📂 Video
│ │ ├── 🎬 00_知识回顾_ev.mp4
│ │ ├── 🎬 01_初始化PyQt5实用工具UI_ev.mp4
│ │ ├── 🎬 02_加载ui_res下的资源_ev.mp4
│ │ ├── 🎬 03_网络工具_TCP客户端_初始化_ev.mp4
│ │ ├── 🎬 04_网络工具_TCP客户端_连接服务器_ev.mp4
│ │ ├── 🎬 05_网络工具_TCP客户端_根据连接状态更新UI_ev.mp4
│ │ ├── 🎬 06_网络工具_TCP客户端_循环接收展示数据_ev.mp4
│ │ ├── 🎬 07_网络工具_TCP客户端_发送数据_ev.mp4
│ │ ├── 🎬 08_网络工具_TCP服务器_接收数据_ev.mp4
│ │ ├── 🎬 09_网络工具_TCP服务器_接收多个客户端数据_ev.mp4
│ │ ├── 🎬 10_网络工具_TCP服务器_隐藏显示Widget_ev.mp4
│ │ ├── 🎬 11_串口工具_pyserial的使用_ev.mp4
│ │ ├── 🎬 12_串口工具_UI界面搭建_ev.mp4
│ │ ├── 🎬 13_串口工具_扫描所有设备_ev.mp4
│ │ ├── 🎬 14_串口工具_设置对话框_ev.mp4
│ │ ├── 🎬 15_串口工具_通过子线程异步接收数据_ev.mp4
│ │ └── 🎬 16_串口工具_更新数据及状态到UI_ev.mp4
│ └── 📂 day10
│ └── 📂 Video
│ ├── 🎬 00_知识回顾_ev.mp4
│ ├── 🎬 01_Python的蓝牙模块pybluez调试设计_ev.mp4
│ ├── 🎬 02_蓝牙助手_初始化UI_ev.mp4
│ ├── 🎬 03_蓝牙助手_扫描所有蓝牙设备_ev.mp4
│ ├── 🎬 04_蓝牙助手_连接设备并更新状态_ev.mp4
│ ├── 🎬 05_蓝牙助手_发送数据_ev.mp4
│ ├── 🎬 06_聊天室_UI界面搭建_ev.mp4
│ ├── 🎬 07_聊天室_聊天室数据获取_ev.mp4
│ ├── 🎬 08_聊天室_将异步数据接受任务封装到Mananger_ev.mp4
│ ├── 🎬 09_聊天室_自定义信号和槽_ev.mp4
│ ├── 🎬 10_聊天室_解析并展示历史消息_ev.mp4
│ ├── 🎬 11_聊天室_发送消息_ev.mp4
│ ├── 🎬 12_使用pyinstaller打包程序_ev.mp4
│ ├── 🎬 13_彩色日志工具_ev.mp4
│ └── 🎬 14_PyQt多线程&多任务管理_ev.mp4
├── 📂 05阶段:GD32开发
│ ├── 📂 day01
│ │ └── 📂 video
│ │ ├── 🎬 01_开发板介绍_ev.mp4
│ │ ├── 🎬 02_扩展板介绍_ev.mp4
│ │ ├── 🎬 03_51单片机和ARM说明_ev.mp4
│ │ ├── 🎬 04_芯片内部外设概述_ev.mp4
│ │ ├── 🎬 06_ARM32芯片介绍_ev.mp4
│ │ ├── 🎬 07_梁山派说明_ev.mp4
│ │ ├── 🎬 08_Keil安装说明_ev.mp4
│ │ ├── 🎬 09_Keil安装2_ev.mp4
│ │ ├── 🎬 10_ARMPACK安装_ev.mp4
│ │ ├── 🎬 11_ARMCC V5安装和配置_ev.mp4
│ │ ├── 🎬 12_GPIO点灯实现_ev.mp4
│ │ ├── 🎬 13_SPL库和HAL库_ev.mp4
│ │ ├── 🎬 14_GD32标准库资料下载_ev.mp4
│ │ ├── 🎬 15_GD32_外设库文件系统介绍_ev.mp4
│ │ ├── 🎬 16_GD32_模板创建_ev.mp4
│ │ ├── 🎬 17_测试GD32模板_ev.mp4
│ │ ├── 🎬 18_stm32_SPL库移植V5_ev.mp4
│ │ ├── 🎬 19_system_tick介绍_ev.mp4
│ │ ├── 🎬 20_STM32点灯测试_ev.mp4
│ │ ├── 🎬 21_STM32 V6问题_ev.mp4
│ │ └── 🎬 5_ARM介绍_ev.mp4
│ ├── 📂 day02
│ │ └── 📂 video
│ │ ├── 🎬 01_转接板介绍_ev.mp4
│ │ ├── 🎬 02_梁山派原理图初步说明_ev.mp4
│ │ ├── 🎬 03_转接板引脚说明_ev.mp4
│ │ ├── 🎬 04_MOS管基础_ev.mp4
│ │ ├── 🎬 05_GPIO引脚基本电路说明_ev.mp4
│ │ ├── 🎬 06_GPIO引脚内部寄存器控制电路详解_ev.mp4
│ │ ├── 🎬 07_GPIO的推挽和开漏_ev.mp4
│ │ ├── 🎬 08_GPIO的推挽和开漏的线与操作_ev.mp4
│ │ ├── 🎬 09_GPIO的输入模式_ev.mp4
│ │ ├── 🎬 10_代码中的输入输出情况分析_ev.mp4
│ │ ├── 🎬 11_ARM的输入输出电路小结_ev.mp4
│ │ ├── 🎬 12_GPIO输出和输入案例_ev.mp4
│ │ ├── 🎬 13_GPIO输入按键配置_ev.mp4
│ │ ├── 🎬 14_总线介绍_ev.mp4
│ │ ├── 🎬 15_时钟树介绍_ev.mp4
│ │ ├── 🎬 16_电量显示需求说明_ev.mp4
│ │ ├── 🎬 17_模拟开始充电和结束充电_ev.mp4
│ │ ├── 🎬 18_模拟电量增加_ev.mp4
│ │ ├── 🎬 19_BSP驱动初始化_ev.mp4
│ │ ├── 🎬 20_BSP驱动开始和结束的业务_ev.mp4
│ │ ├── 🎬 21_BSP流水灯初步实现_ev.mp4
│ │ └── 🎬 22_BSP流水灯逻辑实现_ev.mp4
│ ├── 📂 day03
│ │ └── 📂 video
│ │ ├── 🎬 01_STM32_GPIO输入操作_ev.mp4
│ │ ├── 🎬 02_STM32_流水灯实现_ev.mp4
│ │ ├── 🎬 03_串口基础理论_ev.mp4
│ │ ├── 🎬 04_串口初始化API详解1_ev.mp4
│ │ ├── 🎬 05_串口复用功能发送实现_ev.mp4
│ │ ├── 🎬 06_串口发送调试_ev.mp4
│ │ ├── 🎬 07_串口发送流程_ev.mp4
│ │ ├── 🎬 08_串口发送字符串和printf_ev.mp4
│ │ ├── 🎬 09_串口发送配置需要关注的点_ev.mp4
│ │ ├── 🎬 10_串口接收的配置_ev.mp4
│ │ ├── 🎬 11_串口接收中断状态变化说明_ev.mp4
│ │ ├── 🎬 12_串口接收中断过程说明_ev.mp4
│ │ ├── 🎬 13_串口接收逻辑实现_ev.mp4
│ │ ├── 🎬 14_GD32串口驱动封装_ev.mp4
│ │ ├── 🎬 15_STM32串口封装_GPIO部分_ev.mp4
│ │ ├── 🎬 16_STM32串口封装_串口部分_ev.mp4
│ │ ├── 🎬 17_STM32串口封装实现_ev.mp4
│ │ └── 🎬 18_文档来源_ev.mp4
│ ├── 📂 day04
│ │ └── 📂 video
│ │ ├── 🎬 01_中断机制_ev.mp4
│ │ ├── 🎬 02_外部中断相关概念_ev.mp4
│ │ ├── 🎬 03_外部中断初始化_ev.mp4
│ │ ├── 🎬 04_外部中断函数实现_ev.mp4
│ │ ├── 🎬 05_按键外部中断实现_ev.mp4
│ │ ├── 🎬 06_systick实现tick计时_ev.mp4
│ │ ├── 🎬 07_扩展板外部中断按键实现_ev.mp4
│ │ ├── 🎬 08_外部中断关注点_ev.mp4
│ │ ├── 🎬 09_外部中断的特殊案例_ev.mp4
│ │ ├── 🎬 10_外部中断软件触发_ev.mp4
│ │ ├── 🎬 11_中断优先级介绍_ev.mp4
│ │ ├── 🎬 12_中断优先级配置_全局和局部_ev.mp4
│ │ ├── 🎬 13_中断优先级环境准备_ev.mp4
│ │ ├── 🎬 14_中断优先级小实验_ev.mp4
│ │ ├── 🎬 15_外部中断简单封装_ev.mp4
│ │ ├── 🎬 16_外部中断封装2_ev.mp4
│ │ ├── 🎬 17_外部中断封装2_ev.mp4
│ │ └── 🎬 18_STM32外部中断实现_ev.mp4
│ ├── 📂 day05
│ │ └── 📂 video
│ │ ├── 🎬 01_定时器初步认知_ev.mp4
│ │ ├── 🎬 02_基本定时器初始化配置_ev.mp4
│ │ ├── 🎬 03_基本定时器周期和频率配置_ev.mp4
│ │ ├── 🎬 04_基本定时器分频计数_ev.mp4
│ │ ├── 🎬 05_通用定时器配置实现_ev.mp4
│ │ ├── 🎬 06_定时器配置关系的内容_ev.mp4
│ │ ├── 🎬 07_定时器多通道的配置_ev.mp4
│ │ ├── 🎬 08_蜂鸣器实现_ev.mp4
│ │ ├── 🎬 09_定时器前期封装准备_ev.mp4
│ │ ├── 🎬 10_定时器封装配置_ev.mp4
│ │ └── 🎬 11_定时器封装完成_ev.mp4
│ ├── 📂 day06
│ │ └── 📂 video
│ │ ├── 🎬 01_高级定时器配置_ev.mp4
│ │ ├── 🎬 02_高级定时器极性和break电路配置_ev.mp4
│ │ ├── 🎬 03_高级定时器封装配置_ev.mp4
│ │ ├── 🎬 04_高级定时器特性_ev.mp4
│ │ ├── 🎬 05_STM32_timerGPIO配置_ev.mp4
│ │ ├── 🎬 06_STM32_timer_channel和brk配置_ev.mp4
│ │ ├── 🎬 07_CPU内存外设数据间通讯过程_ev.mp4
│ │ ├── 🎬 08_DMA通讯过程_ev.mp4
│ │ ├── 🎬 09_DMA的一些关键文档信息_ev.mp4
│ │ ├── 🎬 10_DMA的初始化常规配置_ev.mp4
│ │ ├── 🎬 11_DMA实现内存到内存的功能_ev.mp4
│ │ ├── 🎬 12_DMA内存到内存关心的配置_ev.mp4
│ │ ├── 🎬 13_DMA内存到内存中断完成_ev.mp4
│ │ └── 🎬 14_DMA动态配置内存到内存的实现_ev.mp4
│ ├── 📂 day07
│ │ └── 📂 video
│ │ ├── 🎬 01_dma发送流程_ev.mp4
│ │ ├── 🎬 02_DMA数据发送地址配置_ev.mp4
│ │ ├── 🎬 03_DMA数据发送细节配置_ev.mp4
│ │ ├── 🎬 04_DMA数据发送调试_ev.mp4
│ │ ├── 🎬 05_DMA数据发送优化_ev.mp4
│ │ ├── 🎬 06_DMA串口接收配置_ev.mp4
│ │ ├── 🎬 07_DMA串口接收流程分析_ev.mp4
│ │ ├── 🎬 08_DMA接收数据计数流程_ev.mp4
│ │ ├── 🎬 09_DMA接收中断逻辑实现_ev.mp4
│ │ ├── 🎬 10_STM32 DMA内存到内存_ev.mp4
│ │ ├── 🎬 11_STM32 DMA发送配置_ev.mp4
│ │ ├── 🎬 12_STM32 DMA发送调试_ev.mp4
│ │ ├── 🎬 13_STM32 DMA接收实现_ev.mp4
│ │ ├── 🎬 14_GD32 串口驱动封装初始配置_ev.mp4
│ │ ├── 🎬 15_GD32 串口驱动内部配置定义_ev.mp4
│ │ ├── 🎬 16_GD32 RTC时钟介绍_ev.mp4
│ │ └── 🎬 17_GD32 RTC时钟日期配置和读取_ev.mp4
│ ├── 📂 day08
│ │ └── 📂 video
│ │ ├── 🎬 01_RTC时钟闹钟参数配置_ev.mp4
│ │ ├── 🎬 02_RTC时钟闹钟中断配置_ev.mp4
│ │ ├── 🎬 03_RTC闹钟代码来源说明_ev.mp4
│ │ ├── 🎬 04_看门狗的基本概念_ev.mp4
│ │ ├── 🎬 05_独立看门狗实现_ev.mp4
│ │ ├── 🎬 06_窗口看门狗实现_ev.mp4
│ │ ├── 🎬 07_窗口看门狗问题_ev.mp4
│ │ ├── 🎬 08_I2C一些常规理论_ev.mp4
│ │ ├── 🎬 09_I2C写数据的流程_ev.mp4
│ │ ├── 🎬 10_I2C写的开始结束和数据发送信号_ev.mp4
│ │ ├── 🎬 11_I2C操作的基本环境准备_ev.mp4
│ │ ├── 🎬 12_I2C基本信号函数定义_ev.mp4
│ │ ├── 🎬 13_I2C的START和STOP信号实现_ev.mp4
│ │ ├── 🎬 14_I2C的SEND数据信号_ev.mp4
│ │ ├── 🎬 15_I2C的Wait ACK介绍_ev.mp4
│ │ ├── 🎬 16_I2C的Wait ACK实现_ev.mp4
│ │ └── 🎬 17_I2C的写数据实现_ev.mp4
│ ├── 📂 day09
│ │ └── 📂 video
│ │ ├── 🎬 01_I2C通讯回顾_ev.mp4
│ │ ├── 🎬 02_I2C读取流程_ev.mp4
│ │ ├── 🎬 03_I2C读取流程代码表达_ev.mp4
│ │ ├── 🎬 04_I2C读数据信号的实现_ev.mp4
│ │ ├── 🎬 05_I2C读取数据的实现_ev.mp4
│ │ ├── 🎬 06_I2C错误状态定义_ev.mp4
│ │ ├── 🎬 07_I2C硬件电路的初始化配置_ev.mp4
│ │ ├── 🎬 08_I2C硬件电路写数据实现_ev.mp4
│ │ └── 🎬 09_I2C硬件电路读数据实现_ev.mp4
│ ├── 📂 day10
│ │ └── 📂 video
│ │ ├── 🎬 01_数码管驱动移植_ev.mp4
│ │ ├── 🎬 02_I2C屏幕官方环境移植_ev.mp4
│ │ ├── 🎬 03_I2C屏幕移植的问题_ev.mp4
│ │ ├── 🎬 04_I2C屏幕协议逻辑调试_ev.mp4
│ │ ├── 🎬 05_开发调试注意事项_ev.mp4
│ │ ├── 🎬 06_GD32的OLED屏幕驱动移植_ev.mp4
│ │ ├── 🎬 07_GD32的i2c移植过程中发送数据格式问题_ev.mp4
│ │ ├── 🎬 08_二维数组内存分布问题_ev.mp4
│ │ ├── 🎬 09_GD32的I2C的二维数据数据发送实现_ev.mp4
│ │ ├── 🎬 10_GD32的I2C硬件实现_ev.mp4
│ │ ├── 🎬 11_I2C驱动封装实现_ev.mp4
│ │ ├── 🎬 12_GD32核心板MCU选型_ev.mp4
│ │ ├── 🎬 13_核心板设计非常规引脚说明_ev.mp4
│ │ ├── 🎬 14_核心板设计RTC时钟选型_ev.mp4
│ │ ├── 🎬 15_核心板设计重置按钮_ev.mp4
│ │ ├── 🎬 16_核心板设计电源部分设计_ev.mp4
│ │ ├── 🎬 17_核心板设计烧录按钮_ev.mp4
│ │ ├── 🎬 18_核心板设计DAP Link_ev.mp4
│ │ ├── 🎬 19_核心板设计电源选型_ev.mp4
│ │ ├── 🎬 20_核心板设计LDO_ev.mp4
│ │ ├── 🎬 21_核心板设计DCDC_ev.mp4
│ │ └── 🎬 22_核心板比较_ev.mp4
│ ├── 📂 day11
│ │ └── 📂 video
│ │ ├── 🎬 01_平衡车功能分析_ev.mp4
│ │ ├── 🎬 02_电机介绍_ev.mp4
│ │ ├── 🎬 03_线规格选型说明_ev.mp4
│ │ ├── 🎬 04_姿态传感器介绍_ev.mp4
│ │ ├── 🎬 05_梁山派母座元件创建_ev.mp4
│ │ ├── 🎬 06_梁山派母座封装创建_ev.mp4
│ │ ├── 🎬 07_梁山派母座封装实现_ev.mp4
│ │ ├── 🎬 08_电机驱动芯片选型_ev.mp4
│ │ ├── 🎬 09_电机驱动原理图绘制_ev.mp4
│ │ ├── 🎬 10_电机驱动芯片引脚介绍_ev.mp4
│ │ ├── 🎬 11_电机接口配置_ev.mp4
│ │ ├── 🎬 12_MPU6050绘制_ev.mp4
│ │ ├── 🎬 13_其他电路介绍_ev.mp4
│ │ ├── 🎬 14_电池供电版本实现_ev.mp4
│ │ └── 🎬 15_引脚功能分析_ev.mp4
│ ├── 📂 day12
│ │ └── 📂 video
│ │ ├── 🎬 01_布局摆放_ev.mp4
│ │ ├── 🎬 02_电机模块摆放_ev.mp4
│ │ ├── 🎬 03_电机模块引脚选型和电源走线_ev.mp4
│ │ ├── 🎬 04_mpu6050布线说明_ev.mp4
│ │ ├── 🎬 05_蜂鸣器电路布线_ev.mp4
│ │ ├── 🎬 06_其他模块布线说明_ev.mp4
│ │ ├── 🎬 07_i2c屏幕引脚选型说明_ev.mp4
│ │ └── 🎬 08_布线注意的内容_ev.mp4
│ ├── 📂 day13
│ │ └── 📂 video
│ │ ├── 🎬 01_ADC原理介绍01_ev.mp4
│ │ ├── 🎬 02_ADC原理介绍02_ev.mp4
│ │ ├── 🎬 03_ADC初始化配置介绍_ev.mp4
│ │ ├── 🎬 04_ADC初始化常用配置说明_ev.mp4
│ │ ├── 🎬 05_ADC配置参数说明_ev.mp4
│ │ ├── 🎬 06_ADC温度采样结果_ev.mp4
│ │ ├── 🎬 07_ADC主频和采样时间的关系_ev.mp4
│ │ ├── 🎬 08_ADC采样多路的配置和问题_ev.mp4
│ │ ├── 🎬 09_ADC解决多路数据采样问题_ev.mp4
│ │ ├── 🎬 10_ADC的DMA分析和配置_ev.mp4
│ │ ├── 🎬 11_ADC的DMA采样实现_ev.mp4
│ │ ├── 🎬 12_ADC的插入通道的实现_ev.mp4
│ │ ├── 🎬 13_SPI基础概念介绍_ev.mp4
│ │ ├── 🎬 14_SPI的时钟极性和相位极性_ev.mp4
│ │ ├── 🎬 15_SPI的传输和采样的几种模式_ev.mp4
│ │ └── 🎬 16_SPI屏幕移植_ev.mp4
│ ├── 📂 day14
│ │ └── 📂 video
│ │ ├── 🎬 01_SPI调试环境的搭建_ev.mp4
│ │ ├── 🎬 02_SPI的片选和时钟分析_ev.mp4
│ │ ├── 🎬 03_SPI协议bug处理_ev.mp4
│ │ ├── 🎬 04_SPI协议片选切换修复读时时钟问题_ev.mp4
│ │ ├── 🎬 05_SPI协议的抽象封装_ev.mp4
│ │ ├── 🎬 06_SPI协议读和写的实现_ev.mp4
│ │ ├── 🎬 07_SPI软实现应用到OLED中_ev.mp4
│ │ ├── 🎬 08_SPI软实现移植到GD32平台_ev.mp4
│ │ ├── 🎬 09_SPI config配置实现_ev.mp4
│ │ ├── 🎬 10_SPI硬实现初始化_ev.mp4
│ │ ├── 🎬 11_SPI读写的实现和分频处理_ev.mp4
│ │ ├── 🎬 12_SPI读写Bug的处理_ev.mp4
│ │ ├── 🎬 13_spi封装完成_ev.mp4
│ │ ├── 🎬 14_SPI flash示例源码获取_ev.mp4
│ │ ├── 🎬 15_SPI flash源码迁移_ev.mp4
│ │ ├── 🎬 16_SPI4接口抽取_ev.mp4
│ │ ├── 🎬 17_SPI Flash驱动改造_ev.mp4
│ │ ├── 🎬 18_SPI Flash 的API的使用_ev.mp4
│ │ ├── 🎬 19_SPI的 读写软实现_ev.mp4
│ │ ├── 🎬 20_立创开源项目介绍_ev.mp4
│ │ └── 🎬 21_stm32 cubemx 的Repostory配置_ev.mp4
│ ├── 📂 day15
│ │ └── 📂 video
│ │ ├── 🎬 01_PMU电池管理单元介绍_ev.mp4
│ │ ├── 🎬 02_PMU的三种省电模式_ev.mp4
│ │ ├── 🎬 03_PMU模式初始化_ev.mp4
│ │ ├── 🎬 04_PMU睡眠模式和深度睡眠模式演示_ev.mp4
│ │ ├── 🎬 05_待机模式说明_ev.mp4
│ │ ├── 🎬 06_HAL库点灯实现_ev.mp4
│ │ ├── 🎬 07_HAL库开发过程的强调_ev.mp4
│ │ ├── 🎬 08_HAL库时钟配置_ev.mp4
│ │ ├── 🎬 09_HAL库串口发送实现_ev.mp4
│ │ ├── 🎬 10_HAL库中断和dma发送_ev.mp4
│ │ ├── 🎬 11_HAL库串口接收实现_ev.mp4
│ │ ├── 🎬 12_HAL库的ADC配置_ev.mp4
│ │ ├── 🎬 13_HAL库ADC的实现_ev.mp4
│ │ ├── 🎬 14_HAL库I2C配置_ev.mp4
│ │ ├── 🎬 15_HAL库I2c写操作实现_ev.mp4
│ │ ├── 🎬 16_HAL库I2C读操作实现_ev.mp4
│ │ ├── 🎬 17_HAL库SPI配置实现_ev.mp4
│ │ └── 🎬 18_HAL库SPI读写实现_ev.mp4
│ ├── 📂 day16
│ │ └── 📂 video
│ │ ├── 🎬 01_HAL库TIM的环境搭建_ev.mp4
│ │ ├── 🎬 02_HAL库的TIM配置倍频_ev.mp4
│ │ ├── 🎬 03_FreeRTOS介绍_ev.mp4
│ │ ├── 🎬 04_FreeRTOS的源文件导入_ev.mp4
│ │ ├── 🎬 05_FreeRTOS移植中断接管问题_ev.mp4
│ │ ├── 🎬 06_FreeRTOS移植配置问题_ev.mp4
│ │ ├── 🎬 07_操作系统中的任务调度相关名称_ev.mp4
│ │ └── 🎬 08_操作系统的调度机制理解_ev.mp4
│ ├── 📂 day17
│ │ └── 📂 video
│ │ ├── 🎬 01_临界区的介绍_ev.mp4
│ │ ├── 🎬 02_内存分配说明_ev.mp4
│ │ ├── 🎬 03_freeRTOS中断介绍_ev.mp4
│ │ ├── 🎬 04_freeFTOS中断演示_ev.mp4
│ │ ├── 🎬 05_freeRTOS官方文档介绍_ev.mp4
│ │ ├── 🎬 06_freeRTOS的软件定时器_ev.mp4
│ │ ├── 🎬 07_创建二进制信号量_ev.mp4
│ │ ├── 🎬 08_二进制信号量演示_ev.mp4
│ │ ├── 🎬 09_计数型信号量演示_ev.mp4
│ │ ├── 🎬 10_互斥信号量演示_ev.mp4
│ │ ├── 🎬 11_递归互斥信号量演示_ev.mp4
│ │ ├── 🎬 12_队列介绍_ev.mp4
│ │ ├── 🎬 13_freeRTOS中的消息队列_ev.mp4
│ │ ├── 🎬 14_freeRTOS队列创建_ev.mp4
│ │ ├── 🎬 15_freeRTOS队列入队和出队_ev.mp4
│ │ ├── 🎬 16_freeRTOS消息队列复杂类型_ev.mp4
│ │ └── 🎬 17安装_ev.mp4
│ ├── 📂 day18
│ │ └── 📂 video
│ │ ├── 🎬 01_队列结构_ev.mp4
│ │ ├── 🎬 02_任务中队列的使用规则_ev.mp4
│ │ ├── 🎬 03_消息队列实现_ev.mp4
│ │ ├── 🎬 04_消息队列的中断发送_ev.mp4
│ │ ├── 🎬 05_事件组的基本概念_ev.mp4
│ │ ├── 🎬 06_事件组多事件触发_ev.mp4
│ │ ├── 🎬 07_事件组的多接收_ev.mp4
│ │ ├── 🎬 08_姿态简单介绍_ev.mp4
│ │ ├── 🎬 09_MPU6050移植_ev.mp4
│ │ ├── 🎬 10_MPU6050调试过程_ev.mp4
│ │ ├── 🎬 11_示波器功能介绍_ev.mp4
│ │ ├── 🎬 12_验证MPU功能是否可用_ev.mp4
│ │ ├── 🎬 13_验证问题说明_ev.mp4
│ │ ├── 🎬 14_电机的加速比_ev.mp4
│ │ ├── 🎬 15_电机霍尔传感器测速原理_ev.mp4
│ │ └── 🎬 16_mpu调试过程说明_ev.mp4
│ ├── 📂 day19
│ │ └── 📂 video
│ │ ├── 🎬 01_编码器环境准备_ev.mp4
│ │ ├── 🎬 02_编码器测数实现_ev.mp4
│ │ ├── 🎬 03_定时器正交编码器_ev.mp4
│ │ ├── 🎬 04_项目架构设计_ev.mp4
│ │ ├── 🎬 05_项目结构新建_ev.mp4
│ │ ├── 🎬 06_BSP驱动开发和PML联动_ev.mp4
│ │ ├── 🎬 07_BSP驱动开发的优化_ev.mp4
│ │ ├── 🎬 08_项目代码结构介绍_ev.mp4
│ │ ├── 🎬 09_通讯协议构建过程_ev.mp4
│ │ ├── 🎬 10_通讯协议双方的职责_ev.mp4
│ │ ├── 🎬 11_PC端协议构建_ev.mp4
│ │ ├── 🎬 12_PC端实现指定协议封装_ev.mp4
│ │ ├── 🎬 13_双方调试方式的调通_ev.mp4
│ │ ├── 🎬 14_环形缓冲区介绍_ev.mp4
│ │ ├── 🎬 15_环形缓冲区创建_ev.mp4
│ │ ├── 🎬 16_开发板消息解析的实现_ev.mp4
│ │ └── 🎬 17_STLink keil闪退bug修复_ev.mp4
│ └── 📂 day20
│ └── 📂 video
│ ├── 🎬 01_内存处理操作_ev.mp4
│ ├── 🎬 02_具体协议的解析_ev.mp4
│ ├── 🎬 03_将协议移植到C51_ev.mp4
│ ├── 🎬 04_c51大小端温度_ev.mp4
│ ├── 🎬 05_gd32 FreeRTOS接收协议逻辑_ev.mp4
│ ├── 🎬 06_GD32 数据和解析和耗时操作分离_ev.mp4
│ ├── 🎬 07_开环和闭环系统_ev.mp4
│ ├── 🎬 08_PID理论介绍_ev.mp4
│ ├── 🎬 09_小车PID目标和测量值_ev.mp4
│ ├── 🎬 10_error调试测量介绍_ev.mp4
│ ├── 🎬 11_I和D的介绍_ev.mp4
│ ├── 🎬 12_P值的范围选择_ev.mp4
│ ├── 🎬 13_D值问题_ev.mp4
│ ├── 🎬 14_平衡环调节点_ev.mp4
│ ├── 🎬 15_速度环说明_ev.mp4
│ └── 🎬 16_速度环调节_ev.mp4
├── 📂 06阶段:lvgl开发
│ ├── 📂 day01
│ │ └── 📂 video
│ │ ├── 🎬 02_课程介绍_ev.mp4
│ │ ├── 🎬 03_lvgl概述_ev.mp4
│ │ ├── 🎬 04_lvgl学习线路_ev.mp4
│ │ ├── 🎬 05_lvgl模拟器环境_ev.mp4
│ │ ├── 🎬 06_运行lvgl模拟器环境_ev.mp4
│ │ ├── 🎬 06_配置MINGW环境_ev.mp4
│ │ ├── 🎬 07_lvgl注意事项_ev.mp4
│ │ ├── 🎬 08_显示一个按钮_ev.mp4
│ │ ├── 🎬 09_LVGL显示第一个OBJ_ev.mp4
│ │ ├── 🎬 10_显示样式_ev.mp4
│ │ ├── 🎬 11_显示Label_ev.mp4
│ │ ├── 🎬 12_改变label字体大小和颜色_ev.mp4
│ │ ├── 🎬 13_如何显示中文_ev.mp4
│ │ ├── 🎬 14_显示button_ev.mp4
│ │ ├── 🎬 15_按钮事件的处理_ev.mp4
│ │ ├── 🎬 16_按钮状态可选_ev.mp4
│ │ ├── 🎬 17_cmake安装问题_ev.mp4
│ │ ├── 🎬 18_btnmatrix按钮矩阵_ev.mp4
│ │ ├── 🎬 19_btnmatrix事件处理_ev.mp4
│ │ ├── 🎬 20_textarea显示_ev.mp4
│ │ ├── 🎬 21_img显示_ev.mp4
│ │ ├── 🎬 22_gif显示_ev.mp4
│ │ ├── 🎬 23_布局相关_ev.mp4
│ │ ├── 🎬 24_界面切换_ev.mp4
│ │ ├── 🎬 25_tabview_ev.mp4
│ │ ├── 🎬 26_官方例程如何学习_ev.mp4
│ │ └── 🎬 27_动态的显示表格数据_ev.mp4
│ ├── 📂 day02
│ │ └── 📂 video
│ │ ├── 🎬 01_环境搭建的问题说明_ev.mp4
│ │ ├── 🎬 02_squareline界面说明_ev.mp4
│ │ ├── 🎬 03_查看示例工程_ev.mp4
│ │ ├── 🎬 04_创建UI工程_ev.mp4
│ │ ├── 🎬 05_vscode加载工程代码_ev.mp4
│ │ ├── 🎬 06_完成时钟转动的代码_ev.mp4
│ │ ├── 🎬 07_修改UI一些小细节_ev.mp4
│ │ ├── 🎬 08_冒号添加动画_ev.mp4
│ │ ├── 🎬 09_温度显示界面_ev.mp4
│ │ ├── 🎬 10_代码演示界面切换_ev.mp4
│ │ ├── 🎬 11_阅读屏幕相关资料_ev.mp4
│ │ ├── 🎬 12_遇到新的芯片该怎么做_ev.mp4
│ │ ├── 🎬 13_屏幕移植注意事项_ev.mp4
│ │ ├── 🎬 14_导入触摸的代码_ev.mp4
│ │ ├── 🎬 15_移植准备工作_ev.mp4
│ │ ├── 🎬 16_移植源代码_ev.mp4
│ │ ├── 🎬 17_按照官方文档移植启动流程_ev.mp4
│ │ ├── 🎬 18_移植显示部分_ev.mp4
│ │ ├── 🎬 19_演示显示部分_ev.mp4
│ │ └── 🎬 20_移植触摸部分_ev.mp4
│ └── 📂 day03
│ └── 📂 video
│ ├── 🎬 01_上次课内容回顾_ev.mp4
│ ├── 🎬 02_移植Smartwatch_ev.mp4
│ ├── 🎬 03_实现代码逻辑_ev.mp4
│ ├── 🎬 04_使用vscode编写keil工程_ev.mp4
│ ├── 🎬 05_导入freertos模板_ev.mp4
│ ├── 🎬 06_导入lvgl源代码_ev.mp4
│ ├── 🎬 07_编写5个核心代码_ev.mp4
│ └── 🎬 08_编写按钮与文本刷新案例_ev.mp4
├── 📂 07阶段:JieLi_AC79开发
│ ├── 📂 day01
│ │ └── 📂 video
│ │ ├── 🎬 01_上次课问题_ev.mp4
│ │ ├── 🎬 02_线上文档说明_上_ev.mp4
│ │ ├── 🎬 03_线上文档说明_下_ev.mp4
│ │ ├── 🎬 04_阅读代码相关的文档_ev.mp4
│ │ ├── 🎬 05_输出helloitheima_ev.mp4
│ │ ├── 🎬 06_输不出来的原因_ev.mp4
│ │ ├── 🎬 07_输出日志_ev.mp4
│ │ ├── 🎬 08_点灯_ev.mp4
│ │ ├── 🎬 09_pwm控制灯_上_ev.mp4
│ │ ├── 🎬 10_pwm控制灯_下_ev.mp4
│ │ ├── 🎬 11_一些问题说明_ev.mp4
│ │ ├── 🎬 12_添加自己的c文件_ev.mp4
│ │ ├── 🎬 13_了解boardc文件内容_ev.mp4
│ │ ├── 🎬 14_添加按键空能_上_ev.mp4
│ │ ├── 🎬 15_读取程序启动日志_中_ev.mp4
│ │ ├── 🎬 16_按键功能处理_下_ev.mp4
│ │ ├── 🎬 17_演示音乐的播放_ev.mp4
│ │ ├── 🎬 18_uart收发数据_ev.mp4
│ │ ├── 🎬 19_屏蔽不要的内容_ev.mp4
│ │ └── 🎬 20_内容小结_ev.mp4
│ ├── 📂 day02
│ │ └── 📂 video
│ │ ├── 🎬 01-物联网项目分析_ev.mp4
│ │ ├── 🎬 02_开发方式_ev.mp4
│ │ ├── 🎬 03_JSON数据交换格式_ev.mp4
│ │ ├── 🎬 04_cJSON文档阅读_ev.mp4
│ │ ├── 🎬 05_cJSON移植到keil中_ev.mp4
│ │ ├── 🎬 06_cJSON数据格式化代码_ev.mp4
│ │ ├── 🎬 07_封装了发送的功能_ev.mp4
│ │ ├── 🎬 08_测试串口接收解析协议_ev.mp4
│ │ ├── 🎬 09_串口数据收发代码实现_ev.mp4
│ │ ├── 🎬 10_阿里云端的配置_ev.mp4
│ │ ├── 🎬 11_阅读sdk代码_ev.mp4
│ │ ├── 🎬 12_验证sdk连接_ev.mp4
│ │ ├── 🎬 13_使用通用mqtt_sdk验证连接_ev.mp4
│ │ ├── 🎬 14_阿里云创建步骤小结_ev.mp4
│ │ ├── 🎬 15_下午_阿里云端的配置_ev.mp4
│ │ ├── 🎬 16_使用alink连接阿里云_ev.mp4
│ │ ├── 🎬 17_设备上传阿里云_ev.mp4
│ │ ├── 🎬 18_PC连接梁山派_ev.mp4
│ │ ├── 🎬 19_全流程上传逻辑_ev.mp4
│ │ └── 🎬 20_全流程下载逻辑_ev.mp4
│ └── 📂 day03
│ └── 📂 video
│ ├── 🎬 01_流程回顾_ev.mp4
│ ├── 🎬 02_编写串口收发函数_ev.mp4
│ ├── 🎬 03_串口收发_烧录代码_ev.mp4
│ ├── 🎬 04_串口收发_异常调试_ev.mp4
│ ├── 🎬 05_配置wifi信息_ev.mp4
│ ├── 🎬 06_tcp代码复制_ev.mp4
│ ├── 🎬 07_网络连接部分_ev.mp4
│ ├── 🎬 09_网络连接部分问题说明_ev.mp4
│ ├── 🎬 10_mqtt_demo代码阅读_ev.mp4
│ ├── 🎬 11_mqtt_demo代码编写_ev.mp4
│ ├── 🎬 12_mqtt_demo验证_ev.mp4
│ ├── 🎬 13_uart与mqtt代码合并_ev.mp4
│ ├── 🎬 14_uart与mqtt代码测试_ev.mp4
│ ├── 🎬 15_流程回顾_ev.mp4
│ ├── 🎬 16_mqtt收发代码测试_ev.mp4
│ ├── 🎬 17_屏蔽SDK中的日志_ev.mp4
│ ├── 🎬 18_梁山派端代码修改_ev.mp4
│ ├── 🎬 19_梁山派端测试收发_ev.mp4
│ ├── 🎬 20_物联网项目小结_ev.mp4
│ ├── 🎬 21_移植屏幕显示部分_ev.mp4
│ ├── 🎬 22_lvgl需要注意的地方_ev.mp4
│ └── 🎬 23_课程小结_ev.mp4
├── 📂 08阶段:Linux驱动(ros)
│ ├── 📂 day01-Linux
│ │ ├── 🎬 01.课程内容讲解_ev.mp4
│ │ ├── 🎬 02.linux操作系统简介_ev.mp4
│ │ ├── 🎬 03.linux的文件和目录_ev.mp4
│ │ ├── 🎬 04.命令的组成和帮助文档_ev.mp4
│ │ ├── 🎬 05.查看和切换目录_ev.mp4
│ │ ├── 🎬 06.文件和文件夹命令_ev.mp4
│ │ ├── 🎬 07.输出重定向和查看文件内容_ev.mp4
│ │ ├── 🎬 08.grep和find_ev.mp4
│ │ ├── 🎬 09.管道_ev.mp4
│ │ ├── 🎬 10.管道和链接_ev.mp4
│ │ ├── 🎬 11.字母法修改权限_ev.mp4
│ │ ├── 🎬 12.权限修改和超级管理员权限获取_ev.mp4
│ │ ├── 🎬 13.文件压缩和解压缩_ev.mp4
│ │ ├── 🎬 14.软件卸载和安装_ev.mp4
│ │ └── 🎬 15.vim编辑器_ev.mp4
│ ├── 📂 day02-Linux
│ │ ├── 🎬 01.debug串口连接鲁班猫_ev.mp4
│ │ ├── 🎬 02.共享网络连接鲁班猫_ev.mp4
│ │ ├── 🎬 03.鲁班猫引脚说明_ev.mp4
│ │ ├── 🎬 04.gpio操作_ev.mp4
│ │ ├── 🎬 05.gpiod操控io口_ev.mp4
│ │ ├── 🎬 06.pwm控制_ev.mp4
│ │ ├── 🎬 07.uart通信_ev.mp4
│ │ ├── 🎬 08.vscode远程开发和pip镜像_ev.mp4
│ │ ├── 🎬 09.gpiod引脚输入和输出_ev.mp4
│ │ ├── 🎬 10.periphery_ev.mp4
│ │ ├── 🎬 11.pwm代码操控_ev.mp4
│ │ └── 🎬 12.串口代码控制_ev.mp4
│ ├── 📂 day03-opencv
│ │ ├── 🎬 01_课程介绍_ev.mp4
│ │ ├── 🎬 02_opencv安装_ev.mp4
│ │ ├── 🎬 03_机器视觉概述_ev.mp4
│ │ ├── 🎬 04_面临的挑战_ev.mp4
│ │ ├── 🎬 05_opencv文档介绍_ev.mp4
│ │ ├── 🎬 06_读取图片_ev.mp4
│ │ ├── 🎬 07_vscode中的jupyter_ev.mp4
│ │ ├── 🎬 08_操作像素_ev.mp4
│ │ ├── 🎬 09_图像剪切_ev.mp4
│ │ ├── 🎬 10_图像的镜像处理_ev.mp4
│ │ ├── 🎬 11_图像的位移_ev.mp4
│ │ ├── 🎬 12_仿射变换mp4_ev.mp4
│ │ ├── 🎬 13_仿射变换_下_ev.mp4
│ │ ├── 🎬 14_图像金字塔_ev.mp4
│ │ ├── 🎬 15_图像的融合_ev.mp4
│ │ ├── 🎬 16_彩色图像转灰度_ev.mp4
│ │ ├── 🎬 17_颜色反转_ev.mp4
│ │ ├── 🎬 18_图像马赛克效果_ev.mp4
│ │ ├── 🎬 19_毛玻璃的效果_ev.mp4
│ │ ├── 🎬 20_图像的浮雕效果_ev.mp4
│ │ ├── 🎬 21_绘制图像信息_ev.mp4
│ │ ├── 🎬 22_图像亮度增强_ev.mp4
│ │ ├── 🎬 23_图像的直方图_ev.mp4
│ │ ├── 🎬 24_灰度图直方图均衡化_ev.mp4
│ │ └── 🎬 25_彩色图像直方图均衡化_ev.mp4
│ ├── 📂 day04-opencv
│ │ ├── 🎬 01_读取视频数据_ev.mp4
│ │ ├── 🎬 02_读取摄像头数据_ev.mp4
│ │ ├── 🎬 03_判断当前是白天还是黑夜_ev.mp4
│ │ ├── 🎬 03_截取图片中的网球_ev.mp4
│ │ ├── 🎬 04_截取出网球_ev.mp4
│ │ ├── 🎬 05_图像的二值化_ev.mp4
│ │ ├── 🎬 06_自适应阈值_ev.mp4
│ │ ├── 🎬 07_图像卷积运算概念_ev.mp4
│ │ ├── 🎬 08_三种滤波算法_ev.mp4
│ │ ├── 🎬 09_Sobel算子_ev.mp4
│ │ ├── 🎬 10_Scharr函数_ev.mp4
│ │ ├── 🎬 11_拉普拉斯算法_ev.mp4
│ │ ├── 🎬 12_canny边缘检测_ev.mp4
│ │ ├── 🎬 13_图像锐化处理_ev.mp4
│ │ ├── 🎬 14_霍夫直线概念_ev.mp4
│ │ ├── 🎬 15_查找棋盘中所有的线段_ev.mp4
│ │ ├── 🎬 16_霍夫圆形_ev.mp4
│ │ ├── 🎬 17_查找轮廓_ev.mp4
│ │ ├── 🎬 18_获取轮廓信息_ev.mp4
│ │ ├── 🎬 20231206_095253_ev.mp4
│ │ └── 🎬 20231206_143305_ev.mp4
│ ├── 📂 day05-opencv
│ │ ├── 🎬 01_形态学变换概述_ev.mp4
│ │ ├── 🎬 02_膨胀操作_ev.mp4
│ │ ├── 🎬 03_腐蚀操作_ev.mp4
│ │ ├── 🎬 04_开操作_ev.mp4
│ │ ├── 🎬 05_闭操作_ev.mp4
│ │ ├── 🎬 06_距离变换_ev.mp4
│ │ ├── 🎬 07_零件计数_ev.mp4
│ │ ├── 🎬 08_车道线检测_上_ev.mp4
│ │ ├── 🎬 09_车道线检测_合并直线_ev.mp4
│ │ ├── 🎬 10_车道线检测_下_ev.mp4
│ │ ├── 🎬 11_演示landetect_ev.mp4
│ │ ├── 🎬 12_移动侦测功能_ev.mp4
│ │ ├── 🎬 13_图像切边_上_ev.mp4
│ │ ├── 🎬 14_图像切边_下_ev.mp4
│ │ ├── 🎬 15_删除图像中所有的英文_ev.mp4
│ │ ├── 🎬 16_鼠标监听_ev.mp4
│ │ ├── 🎬 17_图片修复功能_ev.mp4
│ │ ├── 🎬 18_opencv小结_ev.mp4
│ │ ├── 🎬 19_扩展_人脸检测_ev.mp4
│ │ ├── 🎬 20_扩展_人脸属性_ev.mp4
│ │ ├── 🎬 21_扩展_人脸106个特征点_ev.mp4
│ │ ├── 🎬 22_扩展_人脸识别锁_ev.mp4
│ │ └── 🎬 23_扩展_人脸识别锁流程_ev.mp4
│ ├── 📂 day06-ros
│ │ ├── 🎬 01.回顾_ev.mp4
│ │ ├── 🎬 02.鲁班猫连接摄像头_ev.mp4
│ │ ├── 🎬 03.打开摄像头_ev.mp4
│ │ ├── 🎬 04.ros介绍_ev.mp4
│ │ ├── 🎬 05.ros环境安装_ev.mp4
│ │ ├── 🎬 06.ros节点介绍_ev.mp4
│ │ ├── 🎬 07.turtlesim和rqt_ev.mp4
│ │ ├── 🎬 08.topic通信_ev.mp4
│ │ ├── 🎬 09.service通信_ev.mp4
│ │ ├── 🎬 10.第一个ros节点_ev.mp4
│ │ ├── 🎬 11.自定义ros节点_ev.mp4
│ │ ├── 🎬 12.节点面向对象抽取_ev.mp4
│ │ └── 🎬 13.vscode模板代码配置_ev.mp4
│ ├── 📂 day07-ros
│ │ ├── 🎬 01.节点图片处理和加载_ev.mp4
│ │ ├── 🎬 02.苹果检测节点实现_ev.mp4
│ │ ├── 🎬 03.摄像头识别苹果实现_ev.mp4
│ │ ├── 🎬 04.topic通信回顾_ev.mp4
│ │ ├── 🎬 05.topic发布者_ev.mp4
│ │ ├── 🎬 06.topic订阅者_ev.mp4
│ │ ├── 🎬 07.自定义msg_ev.mp4
│ │ ├── 🎬 08.自定义msg使用_ev.mp4
│ │ ├── 🎬 09.节点打开摄像头_ev.mp4
│ │ ├── 🎬 10.摄像头节点发布图像数据_ev.mp4
│ │ ├── 🎬 11.接收摄像头节点画面_ev.mp4
│ │ ├── 🎬 12.发布苹果图像数据_ev.mp4
│ │ └── 🎬 13.接收苹果图片并解析_ev.mp4
│ ├── 📂 day08-ros
│ │ ├── 🎬 01.topic多对多通信实现_ev.mp4
│ │ ├── 🎬 02.topic小乌龟控制程序初始化_ev.mp4
│ │ ├── 🎬 03.小乌龟控制布局_ev.mp4
│ │ ├── 🎬 04.小乌龟线速度和角速度控制_ev.mp4
│ │ ├── 🎬 05.订阅小乌龟位置_ev.mp4
│ │ ├── 🎬 06.更新界面显示_ev.mp4
│ │ ├── 🎬 07.service通信回顾_ev.mp4
│ │ ├── 🎬 08.service通信server端实现_ev.mp4
│ │ ├── 🎬 09.service通信client端实现_ev.mp4
│ │ ├── 🎬 10.自定义srv消息_ev.mp4
│ │ ├── 🎬 11.apple检测流程_ev.mp4
│ │ ├── 🎬 12.苹果检测图像发布_ev.mp4
│ │ ├── 🎬 13.server端接收图像数据_ev.mp4
│ │ ├── 🎬 14.apple检测自定义srv_ev.mp4
│ │ ├── 🎬 15.apple检测server端_ev.mp4
│ │ ├── 🎬 16.apple检测client端_ev.mp4
│ │ ├── 🎬 17.小乌龟service搭建_ev.mp4
│ │ ├── 🎬 18.小乌龟service控制界面实现_ev.mp4
│ │ ├── 🎬 19.小乌龟clear和reset_ev.mp4
│ │ ├── 🎬 20.小乌龟spawn_ev.mp4
│ │ ├── 🎬 21.杀死小乌龟_ev.mp4
│ │ ├── 🎬 22.设置画笔_ev.mp4
│ │ └── 🎬 23.设置绝对位置和相对位置_ev.mp4
│ ├── 📂 day09-ros
│ │ ├── 🎬 01.扫地机器人界面搭建_ev.mp4
│ │ ├── 🎬 02.小乌龟移动到前方位置_ev.mp4
│ │ ├── 🎬 03.小乌龟位置信息订阅_ev.mp4
│ │ ├── 🎬 04.小乌龟按照特定时间移动到指定位置_ev.mp4
│ │ ├── 🎬 05.以特定小数时间移动到目标点_ev.mp4
│ │ ├── 🎬 06.以任意时间移动到指定位置_ev.mp4
│ │ ├── 🎬 07.解决小乌龟移动时界面更新卡顿_ev.mp4
│ │ ├── 🎬 08.pid回顾_ev.mp4
│ │ ├── 🎬 09.计算小乌龟和目标的角度_ev.mp4
│ │ ├── 🎬 10.通过pid调节小乌龟移动速度_ev.mp4
│ │ ├── 🎬 11.小乌龟转向任意方向实现_ev.mp4
│ │ ├── 🎬 12.扫地机器人纵向扫地_ev.mp4
│ │ ├── 🎬 13.param参数命令_ev.mp4
│ │ ├── 🎬 14.param参数代码实现_ev.mp4
│ │ ├── 🎬 15.launch文件实现_ev.mp4
│ │ ├── 🎬 16.节点名和命名空间_ev.mp4
│ │ ├── 🎬 17.topic重定向_ev.mp4
│ │ ├── 🎬 18.param参数和yaml文件加载_ev.mp4
│ │ └── 🎬 19.launch文件包含_ev.mp4
│ └── 📂 day10-ros
│ ├── 🎬 01.鲁班猫串口调试_ev.mp4
│ ├── 🎬 02.usart1串口实现_ev.mp4
│ ├── 🎬 03.上位机和下位机通信流程_ev.mp4
│ ├── 🎬 04.struct回顾_ev.mp4
│ ├── 🎬 05.rk3566给gd32发数据流程_ev.mp4
│ ├── 🎬 06.gd32发送数据给rk3566流程_ev.mp4
│ ├── 🎬 07.整合上位机和下位机通信_ev.mp4
│ ├── 🎬 08.usb_cam摄像头节点_ev.mp4
│ ├── 🎬 09.rk3566识别车道线_ev.mp4
│ ├── 🎬 10.上位机通过串口发布线速度和角速度_ev.mp4
│ ├── 🎬 11.下位机接收线速度和角速度处理_ev.mp4
│ └── 🎬 12.下位机差速运行的原理_ev.mp4
└── 📂 09阶段:机器狗项目
├── 📂 day01
│ └── 📂 video
│ ├── 🎬 01.课程介绍_ev.mp4
│ ├── 🎬 02.机械狗介绍_ev.mp4
│ ├── 🎬 03.机械狗自由度介绍_ev.mp4
│ ├── 🎬 04.机械狗扩展版设计介绍_ev.mp4
│ └── 🎬 05.舵机驱动_ev.mp4
├── 📂 day02
│ └── 📂 video
│ ├── 🎬 01.回顾_ev.mp4
│ ├── 🎬 02.正解和逆解_ev.mp4
│ ├── 🎬 03.常见狗腿逆解_ev.mp4
│ ├── 🎬 04.狗腿逆解alpha_ev.mp4
│ ├── 🎬 05.狗腿逆解ABC夹角_ev.mp4
│ ├── 🎬 06.狗腿逆解求bata_ev.mp4
│ ├── 🎬 07.求BCE的坐标_ev.mp4
│ ├── 🎬 08.绘制所有的狗腿直线_ev.mp4
│ ├── 🎬 09.狗腿点详情绘制_ev.mp4
│ ├── 🎬 10.绘制足端文本和角度文本呢_ev.mp4
│ └── 🎬 11.手动设置狗腿目标点_ev.mp4
├── 📂 day03
│ └── 📂 video
│ ├── 🎬 01.狗腿反解补充_ev.mp4
│ ├── 🎬 02.摆动曲线和步态规划_ev.mp4
│ ├── 🎬 03.timer1和timer2初始化_ev.mp4
│ ├── 🎬 04.舵机初始化及角度控制_ev.mp4
│ ├── 🎬 05.8个舵机控制_ev.mp4
│ ├── 🎬 06.下位机实现反解_ev.mp4
│ ├── 🎬 07.安装角度及舵机偏差调节_ev.mp4
│ ├── 🎬 08.狗腿反解之后转换成舵机角度_ev.mp4
│ ├── 🎬 09.摆动曲线讲解_ev.mp4
│ ├── 🎬 10.小跑 步态实现_ev.mp4
│ └── 🎬 11.小跑步态实现常见动作_ev.mp4
└── 📂 day04
└── 📂 video
├── 🎬 01.回顾_ev.mp4
├── 🎬 02.机械狗下位机移植freeRTOS_ev.mp4
├── 🎬 03.上位机和下位机通信的指令_ev.mp4
├── 🎬 04.下位机通过flag控制狗前后左右踏步运动_ev.mp4
├── 🎬 05.狗前倾控制_ev.mp4
├── 🎬 06.下位机运动控制和姿态控制组合_ev.mp4
├── 🎬 07.机械狗控制上位机界面搭建_ev.mp4
└── 🎬 08.上位机控制机械狗_ev.mp4












暂无评论内容