├─最新全套上官嵌入式,良许嵌入式
├─课程硬件清单.pdf
├─1.C语言
│  ├─01. C语言零基础入门.exe
│  ├─[1]-1.1 揭秘之什么是程序.mp4
│  ├─[2]-1.2.认知延伸之程序和数据算法的关系.mp4
│  ├─[3]-1.3 生产一个程序的过程是什么样.mp4
│  ├─[4]-1.4 偷偷学的计算机语言是什么.mp4
│  ├─[5]-1.5 线上课程学习方法适用于所有编程类课程.mp4
│  ├─[6]-2.1 C语言常用开发环境有哪些.mp4
│  ├─[7]-2.2 C开发环境安装.mp4
│  ├─[8]-2.3 C程序的基础框架.mp4
│  ├─[9]-2.4 基础认知什么是变量.mp4
│  ├─[10]-2.5 变量名标识符.mp4
│  ├─[11]-2.6 计算机的数据类型.mp4
│  ├─[12]-2.7 printf打印的用法.mp4
│  ├─[13]-2.8 printf小练习.mp4
│  ├─[14]-2.9 scanf输入的用法.mp4
│  ├─[15]-2.10 scanf混合输入的那些坑.mp4
│  ├─[16]-2.11 其它输入输出的方式.mp4
│  ├─[17]-2.12 输入输出练习题.mp4
│  ├─[18]-2.13 布置简陋土逼密码学和计算器小作业.mp4
│  ├─[19]-3.1 流程控制之if语句.mp4
│  ├─[20]-3.2 if控制经典案例代数法交换值.mp4
│  ├─[21]-3.3 逻辑判断与或非.mp4
│  ├─[22]-3.4 ifelse编程练习.mp4
│  ├─[23]-3.5 选择判断的机器人案例.mp4
│  ├─[24]-3.6 列表选择switchcase.mp4
│  ├─[25]-3.7 switch练习学生成绩等级划分.mp4
│  ├─[26]-3.8 选择练习题之根据路程算折扣.mp4
│  ├─[27]-3.9 作业布置.mp4
│  ├─[28]-3.10 while循环爱你一万遍.mp4
│  ├─[29]-3.11 while循环计算1到100所有数据之和.mp4
│  ├─[30]-3.12 doWhile的小微妙自行体会.mp4
│  ├─[31]-3.13 while的表达式及for循环等价引入.mp4
│  ├─[32]-3.14 关于for循环的见怪不怪.mp4
│  ├─[33]-3.15 循环干涉之break和continue编码分析.mp4
│  ├─[34]-3.16 循环的嵌套输出某个规律的数列.mp4
│  ├─[35]-3.17 作业布置.mp4
│  ├─[36]-4.1 数组的引入及基本用法.mp4
│  ├─[37]-4.2 数组计算大小和各种初始化.mp4
│  ├─[38]-4.3 数组应用编程练习.mp4
│  ├─[39]-4.4 数组编程练习之冒泡排序法.mp4
│  ├─[40]-4.5 数组编程练习之简单选择排序法.mp4
│  ├─[41]-4.6 二维数组.mp4
│  ├─[42]-4.7 二维数组见怪不怪的初始化.mp4
│  ├─[43]-4.8 二维数组应用之找最大值及对应下标.mp4
│  ├─[44]-5.1 为什么需要用函数.mp4
│  ├─[45]-5.2 函数三要素.mp4
│  ├─[46]-5.3 函数的封装和调用.mp4
│  ├─[47]-5.4 函数的封装和调用2.mp4
│  ├─[48]-5.5 形参实参区别.mp4
│  ├─[49]-5.6 编程案例函数封装获取两个数的大数.mp4
│  ├─[50]-5.7 关于函数的一些小总结.mp4
│  ├─[51]-5.8 函数嵌套及编码实战.mp4
│  ├─[52]-5.9 递归函数编码实战.mp4
│  ├─[53]-5.10 求阶乘案例.mp4
│  ├─[54]-5.11 数组和函数开发初见.mp4
│  ├─[55]-5.12 数组传参中关于形式参数的秘密.mp4
│  ├─[56]-5.13 数组实参很有意思的问题启发.mp4
│  ├─[57]-5.14 数组实战之计算不同班级学生的平均分.mp4
│  ├─[58]-5.15 二维数组和函数的概念和实战.mp4
│  ├─[59]-5.16 外部变量和全局变量.mp4
│  ├─[60]-5.17 全局变量实战开发.mp4
│  ├─[61]-5.18 函数完结和作业布置.mp4
│  ├─[62]-6.1. 指针的引入.mp4
│  ├─[63]-6.2 指针变量的引入.mp4
│  ├─[64]-6.3 指针变量为什么要求类型.mp4
│  ├─[65]-6.4 为什么要用指针之场景一.mp4
│  ├─[66]-6.5 为什么要用指针之场景二.mp4
│  ├─[67]-6.6 指针回顾和作业布置.mp4
│  ├─[68]-6.7 定义一个指针变量指向数组.mp4
│  ├─[69]-6.8 指针偏移遍历数组.mp4
│  ├─[70]-6.9 指针偏移的补充,记得回到数组首地址.mp4
│  ├─[71]-6.10 指针和数组名的见怪不怪,重要面试.mp4
│  ├─[72]-6.11 练习函数指针数组结合.mp4
│  ├─[73]-6.12 练习之数组翻转.mp4
│  ├─[74]-6.13 二维数组的地址认知,很猛.mp4
│  ├─[75]-6.14 认知继续.mp4
│  ├─[76]-6.15 通过编程验证认知.mp4
│  ├─[77]-6.16 二维数组的地址写法应用,见怪不怪了.mp4
│  ├─[78]-6.17 数组指针.mp4
│  ├─[79]-6.18 数组指针和二维数组的配合应用.mp4
│  ├─[80]-6.19 函数指针认知.mp4
│  ├─[81]-6.20 函数指针编程实战-回调函数.mp4
│  ├─[82]-6.21. 指针数组地概念和实战练习.mp4
│  ├─[83]-6.22指针函数的概念和实战.mp4
│  ├─[84]-6.23 二级指针认知.mp4
│  ├─[85]-6.24 为什么要用二级指针的实战.mp4
│  ├─[86]-6.25 二级指针和二维数组的避坑指南.mp4
│  ├─[87]-6.26 指针完结.mp4
│  ├─[88]-7.1 字符串引入和注意事项.mp4
│  ├─[89]-7.2 字符串的内存存放方式及结束标志.mp4
│  ├─[90]-7.3 sizeof和strlen区别很重要.mp4
│  ├─[91]-7.4 malloc动态开辟内存空间.mp4
│  ├─[92]-7.5 字符常用操作函数第一部分.mp4
│  ├─[93]-7.6 自己实现字符串拷贝函数.mp4
│  ├─[94]-7.7 C语言断言函数assert.mp4
│  ├─[95]-7.8 字符串拼接strcat使用及实现.mp4
│  ├─[96]-7.9 字符串比较strcmp使用及实现.mp4
│  ├─[97]-8.1. 结构体引入.mp4
│  ├─[98]-8.2. 定义结构体和使用变量.mp4
│  ├─[99]-8.3小应用.mp4
│  ├─[100]-8.4 结构体和数组的结合.mp4
│  ├─[101]-8.5. 结构体数组应用之选票系统.mp4
│  ├─[102]-8.6 结构体指针变量引入.mp4
│  ├─[103]-8.7 通过结构体指针来访问结构体内容.mp4
│  ├─[104]-8.8 结构体指针应用01.mp4
│  ├─[105]-8.9 结构体指针应用02之改写选票系统.mp4
│  ├─[106]-8.10 结构体指针数组函数综合应用改写选票系统.mp4
│  ├─[107]-8.11 结构体二级指针.mp4
│  ├─[108]-8.12 联合体共用体概念引入.mp4
│  ├─[109]-8.13 共用体注意数据覆盖问题.mp4
│  ├─[110]-8.14 共用体开发案例.mp4
│  ├─[111]-8.15 枚举类型介绍.mp4
│  ├─[112]-8.16 typedef关键字介绍.mp4
│  ├─[113]-8.17 typedef和结构体案例.mp4
│  ├─[114]-8.1. Linux的简介.mp4
│  ├─[115]-8.2. 全网最快搭建Linux开发环境(ubuntu).mp4
│  ├─[116]-8.3. 如何在Linux下编写代码和执行程序.mp4
│  ├─[117]-8.4. Linux常用初级指令介绍和使用.mp4
│  ├─[118]-8.5. Linux虚拟机和windows间的文件传输方式.mp4
│  ├─[119]-8.6. VMware虚拟接网络连接的三种方式.mp4
│  ├─[120]-9.1 链表是个好东西.mp4
│  ├─[121]-9.2 链表和数组区别及实现.mp4
│  ├─[122]-9.3 链表静态添加和动态遍历.mp4
│  ├─[123]-9.4 链表遍历中的point=point-next.mp4
│  ├─[124]-9.5 统计链表节点个数及链表查找.mp4
│  ├─[125]-9.6 链表从指定节点后方插入新节点.mp4
│  ├─[126]-9.7 链表从指定节点前方插入新节点.mp4
│  ├─[127]-9.8 链表删除指定节点.mp4
│  ├─[128]-9.9 链表动态创建之头插法.mp4
│  ├─[129]-9.10 头插法优化补充.mp4
│  ├─[130]-9.11 尾插法创建链表.mp4
│  ├─[131]-1.项目演示.mp4
│  ├─[132]-2.基础要求.mp4
│  ├─[133]-3.为什么需要ncurse.mp4
│  ├─[134]-4.curse输入输出.mp4
│  ├─[135]-5.ncurse上下左右键获取.mp4
│  ├─[136]-6.地图规划.mp4
│  ├─[137]-7.地图实现一.mp4
│  ├─[138]-8.贪吃蛇地图实现结束.mp4
│  ├─[139]-9.贪吃蛇地图优化及算法说明.mp4
│  ├─[140]-10.显示贪吃蛇身子的一个节点.mp4
│  ├─[141]-11.显示贪吃蛇完整身子.mp4
│  ├─[142]-12.显示贪吃蛇完整身子改进.mp4
│  ├─[143]-13.贪吃蛇向右移动.mp4
│  ├─[144]-14.贪吃蛇不想活了撞墙找死.mp4
│  ├─[145]-15.贪吃蛇脱缰向右自行游走.mp4
│  ├─[146]-16.贪吃蛇方向移动和刷新界面一起实现面临的问题.mp4
│  ├─[147]-17.Linux线程概念引入及编程实现.mp4
│  ├─[148]-18.使用线程解决16节中提到问题.mp4
│  ├─[149]-19.实现贪吃蛇四方向的疯烧走位.mp4
│  ├─[150]-20.绝对值方式解决不合理走位一.mp4
│  ├─[151]-21.绝对值方式解决不合理走位二.mp4
│  ├─[152]-22.贪吃蛇吃饭咯.mp4
│  ├─[153]-23.贪吃蛇食物位置随机.mp4
│  ├─[154]-24.贪吃蛇撞墙找死和想不开咬死自己来结束游戏的代码优化.mp4
├─2.C51
│  ├─02. _STC51资料.exe
│  ├─154_上官一号-STC51醉牛51教程上-1. 课程概述_1080p.mp4
│  ├─155_上官一号-STC51醉牛51教程上-2. 开发软件Keil的安装_1080p.mp4
│  ├─156_上官一号-STC51醉牛51教程上-3. 手把手创建一个Keil代码工程_1080p.mp4
│  ├─157_上官一号-STC51醉牛51教程上-4. Hex程序烧写到单片机_1080p.mp4
│  ├─158_上官一号-STC51醉牛51教程上-5.单片机基本认知_1080p.mp4
│  ├─159_上官一号-STC51醉牛51教程上-6.单片机那点事儿的思维发散_1080p.mp4
│  ├─160_上官一号-STC51醉牛51教程上-7. SFR及SBIT描述IO口和具体引脚_1080p.mp4
│  ├─161_上官一号-STC51醉牛51教程上-8. IO口输入输出_1080p.mp4
│  ├─162_上官一号-STC51醉牛51教程上-9. 点亮一个LED_1080p.mp4
│  ├─163_上官一号-STC51醉牛51教程上-10. 编程实现LED闪烁_1080p.mp4
│  ├─164_上官一号-STC51醉牛51教程上-11. 按下按键点亮灯_1080p.mp4
│  ├─165_上官一号-STC51醉牛51教程上-12. 两个按键控制灯_1080p.mp4
│  ├─166_上官一号-STC51醉牛51教程上-13. 按键的软件消抖_1080p.mp4
│  ├─167_上官一号-STC51醉牛51教程上-14. IO口状态翻转_1080p.mp4
│  ├─168_上官一号-STC51醉牛51教程上-15. 记录状态位来控制LED_1080p.mp4
│  ├─169_上官一号-STC51醉牛51教程上-16. 简易电动车防盗器小项目概述_1080p.mp4
│  ├─170_上官一号-STC51醉牛51教程上-17. 震动传感器介绍及实战_1080p.mp4
│  ├─171_上官一号-STC51醉牛51教程上-18. 继电器介绍及实战_1080p.mp4
│  ├─172_上官一号-STC51醉牛51教程上-19. 震动控制喇叭_1080p.mp4
│  ├─173_上官一号-STC51醉牛51教程上-20. 433M无线射频信号控制喇叭_1080p.mp4
│  ├─174_上官一号-STC51醉牛51教程上-21. 电动车简易防盗器设计_1080p.mp4
│  ├─175_上官一号-STC51醉牛51教程上-22. 电动车简易防盗器编程实现_1080p.mp4
│  ├─176_上官一号-STC51醉牛51教程上-23. 感应开关盖垃圾桶需求概述_1080p.mp4
│  ├─177_上官一号-STC51醉牛51教程上-24. 定时计数器的概念引入_1080p.mp4
│  ├─178_上官一号-STC51醉牛51教程上-25. 晶振时钟周期机器周期_1080p.mp4
│  ├─179_上官一号-STC51醉牛51教程上-26. 定时器加一经过多久_1080p.mp4
│  ├─180_上官一号-STC51醉牛51教程上-27. 什么是寄存器_1080p.mp4
│  ├─181_上官一号-STC51醉牛51教程上-28. 定时器如何定时10毫秒_1080p.mp4
│  ├─182_上官一号-STC51醉牛51教程上-29. 定时器编程前寄存器配置计划_1080p.mp4
│  ├─183_上官一号-STC51醉牛51教程上-30. 定时器控制LED每隔一秒亮灭_1080p.mp4
│  ├─184_上官一号-STC51醉牛51教程上-31. 按位操作_1080p.mp4
│  ├─185_上官一号-STC51醉牛51教程上-32. AUXR特殊功能寄存器时钟的电磁辐射_1080p.mp4
│  ├─186_上官一号-STC51醉牛51教程上-33. 初探单片机中断_1080p.mp4
│  ├─187_上官一号-STC51醉牛51教程上-34. 定时器中断相关寄存器_1080p.mp4
│  ├─188_上官一号-STC51醉牛51教程上-35. 定时器中断方式控制LED_1080p.mp4
│  ├─189_上官一号-STC51醉牛51教程上-36. 初识PWM_1080p.mp4
│  ├─190_上官一号-STC51醉牛51教程上-37. sg90舵机基本认知_1080p.mp4
│  ├─191_上官一号-STC51醉牛51教程上-38. 舵机编程实战_1080p.mp4
│  ├─192_上官一号-STC51醉牛51教程上-39. 超声波测距传感器认知_1080p.mp4
│  ├─193_上官一号-STC51醉牛51教程上-40. 从零编程实现超声波测距_1080p.mp4
│  ├─194_上官一号-STC51醉牛51教程上-41. 感应开关盖垃圾桶需求设计_1080p.mp4
│  ├─195_上官一号-STC51醉牛51教程上-42. 垃圾桶01_修改超声波为定时器一控制_1080p.mp4
│  ├─196_上官一号-STC51醉牛51教程上-43. 垃圾桶02_封装超声波测距代码_1080p.mp4
│  ├─197_上官一号-STC51醉牛51教程上-44. 垃圾桶03_实现距离感应开关盖_1080p.mp4
│  ├─198_上官一号-STC51醉牛51教程上-45. 垃圾桶04_添加按键开盖功能_1080p.mp4
│  ├─199_上官一号-STC51醉牛51教程上-46. 垃圾桶05_添加震动开盖功能_使用外部中断优化_1080p.mp4
│  ├─200_上官一号-STC51醉牛51教程上-47. 垃圾桶06_添加开盖滴滴声_项目完结_1080p.mp4
│  ├─201_上官一号-STC51醉牛51教程上-48. 垃圾桶成品展示_1080p.mp4
│  ├─202_上官一号-STC51醉牛51教程上-49. 垃圾桶的抽抽BUG解决_1080p.mp4
│  ├─203_上官一号-STC51醉牛教程-下-50. 初识串口_推荐1.5倍数观看_1080p.mp4
│  ├─204_上官一号-STC51醉牛教程-下-51. 概念思维整理补充_1080p.mp4
│  ├─205_上官一号-STC51醉牛教程-下-52. 串口编程的关键要素提点_1080p.mp4
│  ├─206_上官一号-STC51醉牛教程-下-53. 编程实现每秒发送数据给电脑_1080p.mp4
│  ├─207_上官一号-STC51醉牛教程-下-54. 串口编程寄存器分析_1080p.mp4
│  ├─208_上官一号-STC51醉牛教程-下-55. 串口编程01_自己实现串口初始化_1080p.mp4
│  ├─209_上官一号-STC51醉牛教程-下-56. 串口编程02_发送字符串_1080p.mp4
│  ├─210_上官一号-STC51醉牛教程-下-57. 串口通信编程03_PC发送指令控制LED_1080p.mp4
│  ├─211_上官一号-STC51醉牛教程-下-58. 串口通信编程04_串口中断实时控制LED_1080p.mp4
│  ├─212_上官一号-STC51醉牛教程-下-59. 小白玩串口控制的ASSII避坑_1080p.mp4
│  ├─213_上官一号-STC51醉牛教程-下-60. 串口支持单词型指令控制_1080p.mp4
│  ├─214_上官一号-STC51醉牛教程-下-61. 串口原理协议概念收尾_1080p.mp4
│  ├─215_上官一号-STC51醉牛教程-下-62. 通过蓝牙控制LED_1080p.mp4
│  ├─216_上官一号-STC51醉牛教程-下-63. HC-08概述_1080p.mp4
│  ├─217_上官一号-STC51醉牛教程-下-64. AT指令修改蓝牙名字_1080p.mp4
│  ├─218_上官一号-STC51醉牛教程-下-65. wifi模块课程目标概述_1080p.mp4
│  ├─219_上官一号-STC51醉牛教程-下-66. wifi模块的AT指令联网数据交互_1080p.mp4
│  ├─220_上官一号-STC51醉牛教程-下-67. 单片机发送AT指令实现联网_1080p.mp4
│  ├─221_上官一号-STC51醉牛教程-下-68.通过网络TCP通信控制LED_1080p.mp4
│  ├─222_上官一号-STC51醉牛教程-下-69. 白盒方式看到连接不上的原因,调试手段_1080p.mp4
│  ├─223_上官一号-STC51醉牛教程-下-70. 优化8266使用,监测AT执行结果_1080p.mp4
│  ├─224_上官一号-STC51醉牛教程-下-71. 优化8266,捕获联网失败的状态_1080p.mp4
│  ├─225_上官一号-STC51醉牛教程-下-72. ESP工作为AP路由模式并当成服务器_1080p.mp4
│  ├─226_上官一号-STC51醉牛教程-下-73. 上官一号当路由和服务器模式控制_1080p.mp4
│  ├─227_上官一号-STC51醉牛教程-下-74. 4G模块初识_1080p.mp4
│  ├─228_上官一号-STC51醉牛教程-下-75. 4G模块AT指令操作_1080p.mp4
│  ├─229_上官一号-STC51醉牛教程-下-76. 内网穿透建立一个外网可访问的服务器_1080p.mp4
│  ├─230_上官一号-STC51醉牛教程-下-77. 配置4G模块连接服务器并进行数据交互_1080p.mp4
│  ├─231_上官一号-STC51醉牛教程-下-78. 上官一号通过4g模块控制LED_1080p.mp4
│  ├─232_上官一号-STC51醉牛教程-下-79. 初识LCD1602_1080p.mp4
│  ├─233_上官一号-STC51醉牛教程-下-80. LCD在一个位置显示一个字母的逻辑_1080p.mp4
│  ├─234_上官一号-STC51醉牛教程-下-81. LCD1602写时序分析_1080p.mp4
│  ├─235_上官一号-STC51醉牛教程-下-82. 编程实现LCD1602显示字符C_01_1080p.mp4
│  ├─236_上官一号-STC51醉牛教程-下-83. 编程实现LCD1602显示字符C_02_1080p.mp4
│  ├─237_上官一号-STC51醉牛教程-下-84. 编程实现LCD1602显示一行_1080p.mp4
│  ├─238_上官一号-STC51醉牛教程-下-85. DHT11温湿度传感器初识_1080p.mp4
│  ├─239_上官一号-STC51醉牛教程-下-86. 发送时序检测模块是否存在_1080p.mp4
│  ├─240_上官一号-STC51醉牛教程-下-87. 读取DHT11数据的时序分析_1080p.mp4
│  ├─241_上官一号-STC51醉牛教程-下-88. 根据时序写代码获取DHT11的数据_1080p.mp4
│  ├─242_上官一号-STC51醉牛教程-下-89. 温湿度通过串口传到PC显示_1080p.mp4
│  ├─243_上官一号-STC51醉牛教程-下-90 温度检测小系统-又臭又长的代码_1080p.mp4
│  ├─244_上官一号-STC51醉牛教程-下-91. 分文件实现优化代码_1080p.mp4
│  ├─245_上官一号-STC51醉牛教程-下-92. IIC协议初识_1080p.mp4
│  ├─246_上官一号-STC51醉牛教程-下-93. IIC协议起始和终止信号_1080p.mp4
│  ├─247_上官一号-STC51醉牛教程-下-94. IIC协议ACK函数封装_1080p.mp4
│  ├─248_上官一号-STC51醉牛教程-下-95. IIC协议发送一个字节的函数封装_1080p.mp4
│  ├─249_上官一号-STC51醉牛教程-下-96. OLED写入指令和数据_1080p.mp4
│  ├─250_上官一号-STC51醉牛教程-下-97. OLED显示一个点的思路_1080p.mp4
│  ├─251_上官一号-STC51醉牛教程-下-98. OLED显示一个点代码实现_1080p.mp4
│  ├─252_上官一号-STC51醉牛教程-下-99. OLED列地址和雪花BUG解决_1080p.mp4
│  ├─253_上官一号-STC51醉牛教程-下-100. OLED清屏添加清屏函数_1080p.mp4
│  ├─254_上官一号-STC51醉牛教程-下-101. OLED显示字母A_1080p.mp4
│  ├─255_上官一号-STC51醉牛教程-下-102. OLED显示上官可编程_1080p.mp4
│  ├─256_上官一号-STC51醉牛教程-下-103. OLED显示图片_1080p.mp4
│  ├─257_上官一号-STC51醉牛教程-下-104. 小车散件组装_推荐相同接线_1080p.mp4
│  ├─258_上官一号-STC51醉牛教程-下-105. L9110s电机控制器接线_1080p.mp4
│  ├─259_上官一号-STC51醉牛教程-下-106. L9110前后左右控制小车_1080p.mp4
│  ├─260_上官一号-STC51醉牛教程-下-107. 电机相关代码封装_分文件编程_1080p.mp4
│  ├─261_上官一号-STC51醉牛教程-下-108. 串口控制小车_1080p.mp4
│  ├─262_上官一号-STC51醉牛教程-下-109. 手机通过蓝牙控制小车_自定义按键_1080p.mp4
│  ├─263_上官一号-STC51醉牛教程-下-110. 蓝牙小车的点动控制_1080p.mp4
│  ├─264_上官一号-STC51醉牛教程-下-111. 串口自动发送数据测试上节课效果_1080p.mp4
│  ├─265_上官一号-STC51醉牛教程-下-112. 软件PWM调速_1080p.mp4
│  ├─266_上官一号-STC51醉牛教程-下-113. 左右电机的各自调速管理_1080p.mp4
│  ├─267_上官一号-STC51醉牛教程-下-114. 循迹小车基本原理和方案_1080p.mp4
│  ├─268_上官一号-STC51醉牛教程-下-115. 根据循迹原理实现循迹功能代码编写_1080p.mp4
│  ├─269_上官一号-STC51醉牛教程-下-116. 循迹实际测试和电位器调节_1080p.mp4
│  ├─270_上官一号-STC51醉牛教程-下-117. 解决转弯平滑问题,加入电机调速_1080p.mp4
│  ├─271_上官一号-STC51醉牛教程-下-118. 循迹小车根据赛道实际运行情况的调试方法_1080p.mp4
│  ├─272_上官一号-STC51醉牛教程-下-119. 跟随小车_1080p.mp4
│  ├─273_上官一号-STC51醉牛教程-下-120. 跟随小车效果_1080p.mp4
│  ├─274_上官一号-STC51醉牛教程-下-121. 摇头测距小车01_舵机和超声波封装_1080p.mp4
│  ├─275_上官一号-STC51醉牛教程-下-122. 摇头测距小车02_实现疯狂摇头_1080p.mp4
│  ├─276_上官一号-STC51醉牛教程-下-123. 摇头测距小车03_测距摇头_1080p.mp4
│  ├─277_上官一号-STC51醉牛教程-下-124. 摇头测距小车04_摇头测距和行驶_1080p.mp4
│  ├─278_上官一号-STC51醉牛教程-下-125. 实地测试及BUG微调_1080p.mp4
│  ├─279_上官一号-STC51醉牛教程-下-126. 小车测速的原理_1080p.mp4
│  ├─280_上官一号-STC51醉牛教程-下-127. 小车测速代码实现_1080p.mp4
│  ├─281_上官一号-STC51醉牛教程-下-128. 小车测速代码验证和BUG修改_1080p.mp4
│  ├─282_上官一号-STC51醉牛教程-下-129. Oled二次开发为了显示速度_1080p.mp4
│  ├─283_上官一号-STC51醉牛教程-下-130. 蓝牙控制且OLED和蓝牙显示速度_1080p.mp4
│  ├─284_上官一号-STC51醉牛教程-下-131. wifi控制小车并发送速度_1080p.mp4
│  ├─285_上官一号-STC51醉牛教程-下-132. 4g模块控制小车_1080p.mp4
│  ├─286_上官一号-STC51醉牛教程-下-133. 非特定语音识别方案介绍_1080p.mp4
│  ├─287_上官一号-STC51醉牛教程-下-134. SU-03T语音模块的配置使用_1080p.mp4
│  ├─288_上官一号-STC51醉牛教程-下-135. SU-03T固件烧录并语音识别测试_1080p.mp4
│  ├─289_上官一号-STC51醉牛教程-下-136. 语音识别切换小车寻迹避障跟随且Oled显示状态_1080p.mp4
│  ├─290_上官一号-STC51醉牛教程-下-137. 效果演示_1080p.mp4
├─3.STM32HAL库
│  ├─03.STM32配套资料.exe
│  ├─297_1.课程概述.mp4
│  ├─298_2.开发软件Keil5的安装.mp4
│  ├─299_3.STM32模板工程的创建与使用.mp4
│  ├─300_4.如何下载程序到STM32单片机.mp4
│  ├─301_5.STM32CubeMX的安装.mp4
│  ├─302_6.使用STM32CubeMX生成工程文件.mp4
│  ├─303_7.STM32介绍.mp4
│  ├─304_8.标准库与HAL库区别.mp4
│  ├─305_9.什么是GPIO口?.mp4
│  ├─306_10.推挽输出和开漏输出.mp4
│  ├─307_11.点亮LED灯详解.mp4
│  ├─308_12.按键点亮LED灯(轮询法).mp4
│  ├─309_13.复位和时钟控制(RCC).mp4
│  ├─310_14.中断相关概念.mp4
│  ├─311_15.按键点亮LED灯(中断法).mp4
│  ├─312_16.电动车报警器项目概述.mp4
│  ├─313_17.振动传感器介绍及实战.mp4
│  ├─314_18.继电器介绍及实战.mp4
│  ├─315_19.433M无线发射接收模块介绍及实战.mp4
│  ├─316_20.电动车报警器项目设计及实现.mp4
│  ├─317_21.定时器介绍1.mp4
│  ├─318_22.定时器介绍2.mp4
│  ├─319_23.使用定时器中断点亮LED灯.mp4
│  ├─320_24.PWM概述.mp4
│  ├─321_25.PWM实现呼吸灯效果.mp4
│  ├─322_26.感应开关盖垃圾桶项目概述.mp4
│  ├─323_27.sg90舵机编程实战.mp4
│  ├─324_28.sg90舵机概述.mp4
│  ├─325_29.超声波传感器介绍及实战.mp4
│  ├─326_30.封装超声波测距代码.mp4
│  ├─327_31.实现距离感应开关盖.mp4
│  ├─328_32.添加按键开盖功能.mp4
│  ├─329_33.添加震动开盖功能.mp4
│  ├─330_34.添加蜂鸣器.mp4
│  ├─331_35.解决垃圾筒抽抽Bug.mp4
│  ├─332_36.串口基本介绍.mp4
│  ├─333_37.串口实验(非中断).mp4
│  ├─334_38.串口实验(中断).mp4
│  ├─335_39.蓝牙插座_风扇_灯(非中断).mp4
│  ├─336_40.蓝牙插座_风扇_灯(中断).mp4
│  ├─337_41.Wi-Fi插座_风扇_灯(项目概述).mp4
│  ├─338_42.ESP工作为AP路由模式并当成服务器.mp4
│  ├─339_43.上官二号当路由和服务器模式控制.mp4
│  ├─340_44.上官二号通过4g模块控制LED.mp4
│  ├─341_45.独立看门狗介绍.mp4
│  ├─342_46.独立看门狗实验.mp4
│  ├─343_47.窗口看门狗介绍.mp4
│  ├─344_48.窗口看门狗实验.mp4
│  ├─345_49.独立看门狗和窗口看门狗异同点.mp4
│  ├─346_50.DMA介绍.mp4
│  ├─347_51.DMA实验1(内存到内存).mp4
│  ├─348_52.DMA实验2(内存到外设).mp4
│  ├─349_53.DMA实验3(外设到内存).mp4
│  ├─350_54.ADC介绍.mp4
│  ├─351_55.使用ADC读取烟雾传感器的值.mp4
│  ├─352_56.IIC介绍及OLED写数据函数封装.mp4
│  ├─353_57.重做上官一号的IIC实验.mp4
│  ├─354_58.SPI及W25Q128介绍.mp4
│  ├─355_59.使用SPI通讯读写W25Q128模块.mp4
│  ├─356_60.LCD1602介绍及实战.mp4
│  ├─357_61.DHT11介绍及实战.mp4
│  ├─358_62.整合DHT11及LCD1602.mp4
│  ├─359_63.温湿度LCD显示并上传服务器项目完结.mp4
│  ├─360_64.智能小车:让小车动起来.mp4
│  ├─361_65.智能小车:串口控制小车.mp4
│  ├─362_66.智能小车:点动控制小车.mp4
│  ├─363_67.智能小车:硬件PWM调速.mp4
│  ├─364_68.智能小车:左右轮各自调速.mp4
│  ├─365_69.智能小车:循迹小车基本实现.mp4
│  ├─366_70.智能小车:循迹小车解决转弯平滑问题.mp4
│  ├─367_71.智能小车:跟随小车的实现.mp4
│  ├─368_72.智能小车:摇头避障小车舵机封装.mp4
│  ├─369_73.智能小车:摇头避障小车超声波传感器封装.mp4
│  ├─370_74.智能小车:摇头避障小车封装电机驱动模块.mp4
│  ├─371_75.智能小车:测速数据通过串口发送到上位机.mp4
│  ├─372_76.智能小车:OLED代码二次开发.mp4
│  ├─373_77.智能小车:实现测速并使用Oled显示速度.mp4
│  ├─374_78.智能小车:Wifi测速小车并本地Oled显示.mp4
├─4.STM32HAL库新版
│  ├─04.STM32HAL课件.exe
│  ├─251_251.智能台灯项目概述.mp4
│  ├─252_252.光敏电阻传感器介绍.mp4
│  ├─253_253.项目搭建及模块代码修改1.mp4
│  ├─254_254.项目搭建及模块代码修改2.mp4
│  ├─255_255.模块代码增加.mp4
│  ├─256_256.智能台灯检测计时及按键模块开发.mp4
│  ├─257_257.智能台灯项目完结.mp4
│  ├─258_258.电路板简介.mp4
│  ├─259_259.画板需要的基础.mp4
│  ├─260_260.认识嘉立创.mp4
│  ├─261_261.画板基本流程.mp4
│  ├─262_262.使用立创EDA绘制原理图.mp4
│  ├─263_263.使用立创EDA绘制PCB.mp4
│  ├─264_264.如何在嘉立创下单打样.mp4
│  ├─265_265.异型元器件符号画法.mp4
│  ├─266_266.异型元器件封装画法.mp4
│  ├─267_267.自己动手画第一块板子!.mp4
│  ├─268_268.画板源文件导出及使用.mp4
│  ├─[1]-001. 课程介绍.mp4
│  ├─[2]-002. 资料下载及参考文章.mp4
│  ├─[3]-003. 如何高效学习本课程.mp4
│  ├─[4]-004. 电脑配置要求.mp4
│  ├─[5]-005. 硬件及软件准备.mp4
│  ├─[6]-006. 开发软件MDK5的安装.mp4
│  ├─[7]-007. CH340及ST-Link驱动安装.mp4
│  ├─[8]-008. 编译及下载程序.mp4
│  ├─[9]-009. 什么是单片机.mp4
│  ├─[10]-010. Cortex-M系列介绍.mp4
│  ├─[11]-011. 如何获取数据手册.mp4
│  ├─[12]-012. 如何阅读数据手册.mp4
│  ├─[13]-013. 认识上官二号开发板.mp4
│  ├─[14]-014. STM32F103C8T6引脚分布.mp4
│  ├─[15]-015. STM32最小系统.mp4
│  ├─[16]-016. 电路基础知识.mp4
│  ├─[17]-017. 如何查看原理图.mp4
│  ├─[18]-018. 官方安装包获取.mp4
│  ├─[19]-019. STM32CubeMX的安装.mp4
│  ├─[20]-020. 为什么要安装 CH340 驱动?.mp4
│  ├─[21]-021. 五种方法下载程序.mp4
│  ├─[22]-022. MDK5的基本使用.mp4
│  ├─[23]-023. MDK5的一些推荐配置.mp4
│  ├─[24]-024. MDK5的使用技巧.mp4
│  ├─[25]-025. MDK5调试功能1.mp4
│  ├─[26]-026. MDK5调试功能2.mp4
│  ├─[27]-027. C语言基础复习1.mp4
│  ├─[28]-028. C语言基础复习2.mp4
│  ├─[29]-029. C语言基础复习3.mp4
│  ├─[30]-030. F1系列内核和芯片系统架构.mp4
│  ├─[31]-031. 存储器映像.mp4
│  ├─[32]-032. 什么是寄存器?.mp4
│  ├─[33]-033. 寄存器映射.mp4
│  ├─[34]-034. 手把手教你创建模板工程1.mp4
│  ├─[35]-035. 手把手教你创建模板工程2.mp4
│  ├─[36]-036. 什么是CMSIS?.mp4
│  ├─[37]-037. 项目工程常见文件意义.mp4
│  ├─[38]-038. STM32启动流程.mp4
│  ├─[39]-039. map文件.mp4
│  ├─[40]-040. 时钟树是什么?.mp4
│  ├─[41]-041. 系统时钟配置.mp4
│  ├─[42]-042. GPIO口介绍.mp4
│  ├─[43]-043. GPIO内部结构.mp4
│  ├─[44]-044. GPIO工作模式.mp4
│  ├─[45]-045. GPIO寄存器介绍.mp4
│  ├─[46]-046. GPIO库函数介绍.mp4
│  ├─[47]-047. LED灯介绍.mp4
│  ├─[48]-048. 点亮一颗LED灯.mp4
│  ├─[49]-049. 流水灯实验.mp4
│  ├─[50]-050. 蜂鸣器实验.mp4
│  ├─[51]-051. 按键实验.mp4
│  ├─[52]-052. 中断相关概念.mp4
│  ├─[53]-053. STM32中断.mp4
│  ├─[54]-054. NVIC基本介绍及工作原理.mp4
│  ├─[55]-055. 中断优先级基本概念.mp4
│  ├─[56]-056. NVIC寄存器及相关函数.mp4
│  ├─[57]-057. EXTI简介.mp4
│  ├─[58]-058. EXTI基本结构及工作原理.mp4
│  ├─[59]-059. EXTI寄存器及相关函数.mp4
│  ├─[60]-060. AFIO.mp4
│  ├─[61]-061. EXTI配置流程.mp4
│  ├─[62]-062. 中断实验.mp4
│  ├─[63]-063. 电动车报警器项目概述.mp4
│  ├─[64]-064. 震动传感器介绍.mp4
│  ├─[65]-065. 震动点灯.mp4
│  ├─[66]-066. 继电器介绍.mp4
│  ├─[67]-067. 继电器实验.mp4
│  ├─[68]-068. 433M无线收发模块介绍.mp4
│  ├─[69]-069. 433M模块实验.mp4
│  ├─[70]-070. 高功率喇叭介绍.mp4
│  ├─[71]-071. 电动车报警器项目完结.mp4
│  ├─[72]-72节SysTick介绍.mp4
│  ├─[73]-073. SysTick寄存器.mp4
│  ├─[74]-074. HAL_Delay底层实现原理.mp4
│  ├─[75]-075. 手撸延时函数.mp4
│  ├─[76]-076. 手撸带操作系统延时函数思路.mp4
│  ├─[77]-077. 手撸带操作系统延时函数实操.mp4
│  ├─[78]-078. 使用SysTick模拟多线程.mp4
│  ├─[79]-079. 智能排队控制系统概述.mp4
│  ├─[80]-080. 红外模块介绍.mp4
│  ├─[81]-081. 红外模块驱动代码.mp4
│  ├─[82]-082. LCD1602简介.mp4
│  ├─[83]-083. LCD1602引脚介绍.mp4
│  ├─[84]-084. LCD1602读写时序.mp4
│  ├─[85]-085. LCD1602显示一个字符的逻辑.mp4
│  ├─[86]-086. 使用LCD1602显示一个字符.mp4
│  ├─[87]-087. 使用LCD1602显示字符串.mp4
│  ├─[88]-088. 排队系统框架及硬件接线.mp4
│  ├─[89]-089. 排队系统代码框架搭建.mp4
│  ├─[90]-090. 状态机.mp4
│  ├─[91]-091. 排队系统项目完结.mp4
│  ├─[92]-092. 定时器介绍.mp4
│  ├─[93]-093. 三种定时器介绍.mp4
│  ├─[94]-094. 定时器框图.mp4
│  ├─[95]-095. 通用定时器时钟来源.mp4
│  ├─[96]-096. 定时器计数模式及溢出时间.mp4
│  ├─[97]-097. 定时器中断实验配置步骤.mp4
│  ├─[98]-098. 定时器中断点灯实验.mp4
│  ├─[99]-099. 输出比较原理.mp4
│  ├─[100]-100. PWM介绍.mp4
│  ├─[101]-101. 定时器输出PWM波配置步骤.mp4
│  ├─[102]-102. 呼吸灯实验.mp4
│  ├─[103]-103. 输入捕获原理.mp4
│  ├─[104]-104. 输入捕获实验配置步骤.mp4
│  ├─[105]-105. 测量按键按下时长思路.mp4
│  ├─[106]-106. 串口打印功能打开.mp4
│  ├─[107]-107. 编程实现捕获功能.mp4
│  ├─[108]-108. 捕获一次完整的按键动作.mp4
│  ├─[109]-109. 测量按键按下时间.mp4
│  ├─[110]-110. 脉冲计数原理.mp4
│  ├─[111]-111. 脉冲计数实验.mp4
│  ├─[112]-112. 感应开关盖垃圾筒项目概述.mp4
│  ├─[113]-113. sg90舵机介绍.mp4
│  ├─[114]-114. sg90舵机实验.mp4
│  ├─[115]-115. 超声波传感器介绍.mp4
│  ├─[116]-116. 超声波传感器实验.mp4
│  ├─[117]-117. 感应开关盖垃圾筒项目完结.mp4
│  ├─[118]-118. IWDG介绍、工作原理及框图.mp4
│  ├─[119]-119. IWDG寄存器及库函数.mp4
│  ├─[120]-120. IWDG溢出时间计算及配置流程.mp4
│  ├─[121]-121. IWDG实验.mp4
│  ├─[122]-122. WWDG介绍、工作原理及框图.mp4
│  ├─[123]-123. WWDG寄存器及库函数.mp4
│  ├─[124]-124. WWDG溢出时间计算及配置步骤.mp4
│  ├─[125]-125. WWDG实验.mp4
│  ├─[126]-126. IWDG与WWDG的区别.mp4
│  ├─[127]-127. 通信基础.mp4
│  ├─[128]-128. 串口通讯介绍.mp4
│  ├─[129]-129. 串口框图.mp4
│  ├─[130]-130. 串口寄存器及库函数.mp4
│  ├─[131]-131. 串口实现一个字符收发.mp4
│  ├─[132]-132. 串口接收不定长数据(接收中断).mp4
│  ├─[133]-133. 串口接收不定长数据(空闲中断).mp4
│  ├─[134]-134. 蓝牙模块介绍.mp4
│  ├─[135]-135. 蓝牙模块AT指令.mp4
│  ├─[136]-136. 蓝牙模块实验.mp4
│  ├─[137]-137. 蓝牙遥控插座项目.mp4
│  ├─[138]-138. ESP8266介绍.mp4
│  ├─[139]-139. ESP8266作为设备模式.mp4
│  ├─[140]-140. ESP8266作为路由器模式.mp4
│  ├─[141]-141. 编程实现ESP8266串口通讯功能.mp4
│  ├─[142]-142. 编程实现ESP8266联网功能.mp4
│  ├─[143]-143. 编程实现ESP8266连接TCP服务器.mp4
│  ├─[144]-144. 编程实现ESP8266服务器模式.mp4
│  ├─[145]-145. Wi-Fi遥控风扇项目.mp4
│  ├─[146]-146. 内网穿透.mp4
│  ├─[147]-147. 花生壳配置.mp4
│  ├─[148]-148. 4G模块介绍及配置.mp4
│  ├─[149]-149. 4G遥控灯项目.mp4
│  ├─[150]-150. DMA介绍.mp4
│  ├─[151]-151. DMA框图及控制器.mp4
│  ├─[152]-152. DMA优先级管理及传输方式.mp4
│  ├─[153]-153. DMA指针递增模式及数据对齐方式.mp4
│  ├─[154]-154. DMA寄存器及库函数介绍.mp4
│  ├─[155]-155. DMA实验:内存到内存数据搬运.mp4
│  ├─[156]-156. DMA实验:内存到外设数据搬运.mp4
│  ├─[157]-157. DMA实验:外设到内存数据搬运.mp4
│  ├─[158]-158. ADC介绍.mp4
│  ├─[159]-159. ADC框图介绍.mp4
│  ├─[160]-160. ADC的一些细节介绍1.mp4
│  ├─[161]-161. ADC的一些细节介绍2.mp4
│  ├─[162]-162. ADC寄存器及库函数介绍.mp4
│  ├─[163]-163. ADC单通道采集实验.mp4
│  ├─[164]-164. ADC单通道采集实验(DMA读取).mp4
│  ├─[165]-165. ADC多通道采集实验(DMA读取).mp4
│  ├─[166]-166. 吸烟室管控系统项目概述.mp4
│  ├─[167]-167. mq-2烟雾传感器介绍.mp4
│  ├─[168]-168. 吸烟室管控系统项目完结.mp4
│  ├─[169]-169. IIC介绍.mp4
│  ├─[170]-170. IIC时序.mp4
│  ├─[171]-171. OLED屏幕介绍.mp4
│  ├─[172]-172. 如何驱动OLED屏幕显示内容?.mp4
│  ├─[173]-173. OLED通讯时序及GDDRAM.mp4
│  ├─[174]-174. 三种地址模式及OLED命令.mp4
│  ├─[175]-175. OLED实验(通讯时序).mp4
│  ├─[176]-176. OLED实验(显示点、线、字母A).mp4
│  ├─[177]-177. OLED实验(显示任意字符).mp4
│  ├─[178]-178. OLED实验(显示字符串、汉字、图像).mp4
│  ├─[179]-179. SPI介绍.mp4
│  ├─[180]-180. SPI工作原理及框图.mp4
│  ├─[181]-181. SPI工作模式.mp4
│  ├─[182]-182. SPI寄存器及库函数介绍.mp4
│  ├─[183]-183. W25Q128介绍.mp4
│  ├─[184]-184. 读写W25Q128实验(封装SPI接口).mp4
│  ├─[185]-185. 读写W25Q128实验(封装读取芯片ID接口).mp4
│  ├─[186]-186. 读写W25Q128实验(封装命令接口).mp4
│  ├─[187]-187. 智能门禁系统项目概述.mp4
│  ├─[188]-188. 矩阵键盘介绍.mp4
│  ├─[189]-189. 矩阵键盘实验.mp4
│  ├─[190]-190. 智能门禁系统项目设计.mp4
│  ├─[191]-191. 整体项目框架搭建.mp4
│  ├─[192]-192. 屏幕显示部分代码封装.mp4
│  ├─[193]-193. 密码处理模块封装1.mp4
│  ├─[194]-194. 密码处理模块封装2.mp4
│  ├─[195]-195. 智能门禁项目完结.mp4
│  ├─[196]-196. BKP介绍.mp4
│  ├─[197]-197. 读写BKP实验.mp4
│  ├─[198]-198. RTC介绍.mp4
│  ├─[199]-199. RTC寄存器及库函数.mp4
│  ├─[200]-200. 读写RTC时间实验.mp4
│  ├─[201]-201. RTC闹钟实验.mp4
│  ├─[202]-202. 实时时钟项目概述.mp4
│  ├─[203]-203. 实时时钟项目设计.mp4
│  ├─[204]-204. 整体项目框架搭建.mp4
│  ├─[205]-205. 按键及RTC模块修改.mp4
│  ├─[206]-206. 屏幕显示代码封装1.mp4
│  ├─[207]-207. 屏幕显示代码封装2.mp4
│  ├─[208]-208. 实时时钟项目完结1.mp4
│  ├─[209]-209. 实时时钟项目完结2.mp4
│  ├─[210]-210. 低功耗及电源结构介绍.mp4
│  ├─[211]-211. 睡眠、停机、待机模式特点.mp4
│  ├─[212]-212. 低功耗进入及唤醒条件.mp4
│  ├─[213]-213. 低功耗寄存器及库函数介绍.mp4
│  ├─[214]-214. 低功耗实验.mp4
│  ├─[215]-215. CAN简介.mp4
│  ├─[216]-216. CAN物理层介绍.mp4
│  ├─[217]-217. CAN数据帧详解.mp4
│  ├─[218]-218. CAN位时序及仲裁机制.mp4
│  ├─[219]-219. CAN控制器及模式介绍.mp4
│  ├─[220]-220. CAN控制器框图.mp4
│  ├─[221]-221. CAN控制器位时序.mp4
│  ├─[222]-222. CAN控制器寄存器及库函数介绍.mp4
│  ├─[223]-223. CAN收发实验1.mp4
│  ├─[224]-224. CAN收发实验2.mp4
│  ├─[225]-225. MQTT基本介绍.mp4
│  ├─[226]-226. MQTT报文格式介绍.mp4
│  ├─[227]-227. OneNET基本配置.mp4
│  ├─[228]-228. MQTT报文概述.mp4
│  ├─[229]-229. CONNECT报文之固定报头和可变报头.mp4
│  ├─[230]-230. CONNECT报文之有效载荷.mp4
│  ├─[231]-231. 剩余长度.mp4
│  ├─[232]-232. CONNACK报文.mp4
│  ├─[233]-233. SUBSCRIBE与SUBACK报文.mp4
│  ├─[234]-234. UNSUBSCRIBE与UNSUBACK报文.mp4
│  ├─[235]-235. PUBLISH报文.mp4
│  ├─[236]-236. PINGREQ和PINGRESP报文.mp4
│  ├─[237]-237. MQTT编程实战.mp4
│  ├─[238]-238. 温湿度上传OneNET项目概述.mp4
│  ├─[239]-239. DHT11介绍.mp4
│  ├─[240]-240. DHT11实验1.mp4
│  ├─[241]-241. DHT11实验2.mp4
│  ├─[242]-242. 温湿度上传OneNET项目完结.mp4
│  ├─[243]-243. 天气预报项目概述.mp4
│  ├─[244]-244. 心知天气平台详解.mp4
│  ├─[245]-245. cJSON介绍.mp4
│  ├─[246]-246. 项目框架搭建及OLED模块修改.mp4
│  ├─[247]-247. esp8266模块代码完善.mp4
│  ├─[248]-248. weather模块代码编写1.mp4
│  ├─[249]-249. weather模块代码编写2.mp4
│  ├─[250]-250. 天气预报项目完结.mp4
│  ├─课程硬件清单.pdf
├─5.FreeRTOS
│  ├─05.FreeRtos.exe
│  ├─第374节-1. 课程视频.mp4
│  ├─第375节-2. FreeRTOS介绍.mp4
│  ├─第376节-3. 移植FreeRTOS到上官二号平台.mp4
│  ├─第377节-3. (补充)模板工程打开串口.mp4
│  ├─第378节-4. 任务的创建与删除(理论).mp4
│  ├─第379节-5. 任务的创建与删除(实操).mp4
│  ├─第380节-6. 任务调度简介 - 副本.mp4
│  ├─第380节-6. 任务调度简介.mp4
│  ├─第381节-7. 任务状态及互相转换.mp4
│  ├─第382节-8. 任务综合小实验.mp4
│  ├─第383节-9. 队列简介.mp4
│  ├─第384节-10. 队列实操.mp4
│  ├─第385节-11. 二值信号量简介.mp4
│  ├─第386节-12. 二值信号量实操.mp4
│  ├─第387节-13. 计数型信号量简介及实操.mp4
│  ├─第388节-14. 互斥量简介.mp4
│  ├─第389节-15. 互斥量实操.mp4
│  ├─第390节-16. 事件标志组简介.mp4
│  ├─第391节-17. 事件标志组实操.mp4
│  ├─第392节-18. 任务通知简介.mp4
│  ├─第393节-19. 任务通知实操.mp4
│  ├─第394节-20. 延时函数.mp4
│  ├─第395节-21. 软件定时器简介.mp4
│  ├─第396节-22. 软件定时器实操.mp4
│  ├─第397节-23. 中断管理.mp4
├─6.C++QT
│  ├─qt全部资料.exe
│  ├─1.C++
│  │  ├─1_1.QT概述.mp4
│  │  ├─2_2.QT开发环境安装.mp4
│  │  ├─3_3.QTCreator的基本使用.mp4
│  │  ├─4_4.引入CPP及命名空间.mp4
│  │  ├─5_5.CPP输入输出.mp4
│  │  ├─6_6.CPP基本数据类型.mp4
│  │  ├─7_7.流程控制和函数.mp4
│  │  ├─8_8.Lambda表达式引入.mp4
│  │  ├─9_9.Lambda表达式参数捕获.mp4
│  │  ├─10_10.同C语言过一下数组和指针.mp4
│  │  ├─11_11.综合小练习.mp4
│  │  ├─12_12.从结构体引入类.mp4
│  │  ├─13_13.真正的成员函数.mp4
│  │  ├─14_14.类的组合.mp4
│  │  ├─15_15.银行案例初识权限.mp4
│  │  ├─16_16.C++引用.mp4
│  │  ├─17_17.函数重载和运算符重载.mp4
│  │  ├─18_18.构造函数引入.mp4
│  │  ├─18_19.初始化列表构造.mp4
│  │  ├─19_20.this关键字.mp4
│  │  ├─20_21.delete关键字.mp4
│  │  ├─21_22.构造函数总结及拷贝构造函数的录制计划说明.mp4
│  │  ├─22_23.析构函数.mp4
│  │  ├─23_24.静态成员static关键字.mp4
│  │  ├─24_25.继承.mp4
│  │  ├─25_26.继承分文件实现.mp4
│  │  ├─26_27.权限对继承的影响.mp4
│  │  ├─26_28. 基类构造函数.mp4
│  │  ├─27_29.虚函数.mp4
│  │  ├─28_30.多重继承.mp4
│  │  ├─29_31.菱形继承和虚继承.mp4
│  │  ├─30_32.多态.mp4
│  │  ├─31_33.抽象类.mp4
│  │  ├─32_34.接口.mp4
│  │  ├─33_34-02.C++阶段性总结.mp4
│  ├─2.记事本项目
│  │  ├─34_35.记事本项目概述.mp4
│  │  ├─35_36.QT工程默认各文件解析.mp4
│  │  ├─36_37.记事本按键组布局.mp4
│  │  ├─37_38.记事本初步布局完成.mp4
│  │  ├─38_39.实现窗口大小调整的子控件自适应.mp4
│  │  ├─39_40.记事本UI美化stylesheet初探.mp4
│  │  ├─40_41.UI美化遗留问题解决.mp4
│  │  ├─41_42.信号与槽的引入.mp4
│  │  ├─42_43.信号与槽的四种代码实现方式.mp4
│  │  ├─43_44.自定义信号与槽.mp4
│  │  ├─44_45.QFile读取文件.mp4
│  │  ├─45_46.QFile创建并写入文件.mp4
│  │  ├─46_47.QTextSteam读写文件.mp4
│  │  ├─47_48.QFileDialog文件选择框.mp4
│  │  ├─48_49.QFileDialog选择多个文件.mp4
│  │  ├─49_50.QFileDialog创建文件.mp4
│  │  ├─50_51.记事本实现打开功能.mp4
│  │  ├─51_52.记事本实现保存新建文件的功能.mp4
│  │  ├─52_53.记事本实现关闭按键.mp4
│  │  ├─53_54.字符编码问题引入.mp4
│  │  ├─54_55.QComboBox组件.mp4
│  │  ├─55_56.记事本优化打开各种编码类型的文件.mp4
│  │  ├─56_57.记事本支持光标行列值显示.mp4
│  │  ├─57_58.记事本添加打开文件的提示.mp4
│  │  ├─58_59.C++补充知识-模版.mp4
│  │  ├─59_60.QList容器简介.mp4
│  │  ├─60_61.记事本实现当前行高亮功能.mp4
│  │  ├─61_62.记事本优化保存文件的逻辑.mp4
│  │  ├─62_63.记事本关闭按钮功能优化.mp4
│  │  ├─63_64.记事本添加快捷键功能.mp4
│  │  ├─64_65.记事本快捷键放大缩小字体.mp4
│  │  ├─65_66.QT事件概念引入.mp4
│  │  ├─66_67.重写窗口各类默认事件.mp4
│  │  ├─67_68.用事件自定义出一个按键.mp4
│  │  ├─68_69.使用自定义按键的信号与槽.mp4
│  │  ├─69_70.事件重写实现滚轮放大缩小字体.mp4
│  │  ├─70_71.事件过滤器的方式实现滚轮按键放大.mp4
│  │  ├─71_72.记事本项目总结.mp4
│  ├─3.串口调试助手
│  │  ├─72_73.串口调试助手界面01.mp4
│  │  ├─73_74.串口调试助手页面完结.mp4
│  │  ├─74_75.串口助手添加参数选项.mp4
│  │  ├─75_76.串口调试助手自动检测串口号.mp4
│  │  ├─76_77.串口调试助手打开串口.mp4
│  │  ├─77_78.串口调试准助手实现自收自发功能.mp4
│  │  ├─78_79.串口助手发送状态更新.mp4
│  │  ├─79_80.串口助手发送状态的界面优化.mp4
│  │  ├─80_81.串口调试助手实现自动发送功能.mp4
│  │  ├─81_82.如何自我验证新控件.mp4
│  │  ├─82_83.解决遗留bug.mp4
│  │  ├─83_84.串口调试助手保存接收记录.mp4
│  │  ├─84_85.获取当前系统时间QDateTime.mp4
│  │  ├─85_86.串口调试助手右下角时间刷新.mp4
│  │  ├─86_87.补充-优化时间显示.mp4
│  │  ├─87_88.串口调试助手初步实现HEX显示.mp4
│  │  ├─88_89.串口调试助手关联Hex接收.mp4
│  │  ├─89_90.串口调试助手HEX发送单片机联调测试.mp4
│  │  ├─90_91.串口调试助手优化HEX显示.mp4
│  │  ├─91_92.串口调试助手添加换行功能.mp4
│  │  ├─92_93.小问题优化修正.mp4
│  │  ├─93_94.串口调试助手面板隐藏和显示.mp4
│  │  ├─94_95.自定义ComboBox完成串口号列表刷新.mp4
│  │  ├─95_96.串口调试助手多文本土方法.mp4
│  │  ├─96_97.重点玩法-通过子控件组来优化上节课.mp4
│  │  ├─97_98.串口助手循环发送功能初步实现.mp4
│  │  ├─98_99.定时器方式优化自动循环发送.mp4
│  │  ├─99_100.线程方式优化自动循环发送.mp4
│  │  ├─100_101.重置按键对话框定制.mp4
│  │  ├─101_102.串口调试助手实现重置功能.mp4
│  │  ├─102_103.串口调试助手保存指令集文本.mp4
│  │  ├─103_104.串口调试助手载入指令集文本.mp4
│  │  ├─104_105.串口调试助手收尾优化和功能验证.mp4
│  │  ├─105_106.打包串口调试助手可以给同学用.mp4
│  ├─4.网络调试助手
│  │  ├─106_107.网络调试助手概述.mp4
│  │  ├─107_108.网络调试助手开发流程分析.mp4
│  │  ├─108_109.网络调试助手服务端界面.mp4
│  │  ├─109_110.服务端建立连接.mp4
│  │  ├─110_111.服务端建立连接UI处理.mp4
│  │  ├─111_112.服务端自动刷新IP地址.mp4
│  │  ├─112_113.服务端接收数据.mp4
│  │  ├─113_114.服务端检测客户端断开状态.mp4
│  │  ├─114_115.服务端发送数据.mp4
│  │  ├─115_116.服务端可选择特定客户端发送消息.mp4
│  │  ├─116_117.上节课遗留bug解决.mp4
│  │  ├─117_118.服务端停止监听和断开.mp4
│  │  ├─118_119.测试客户端的中文通信论吗问题.mp4
│  │  ├─119_120.客户端界面实现.mp4
│  │  ├─120_121.客户端连接发送接收功能实现.mp4
│  │  ├─121_122.客户端UI完善.mp4
│  │  ├─122_123.接收发送颜色区分.mp4
│  │  ├─123_124.服务端bug修复.mp4
│  │  ├─124_125.优化服务端对客户端的管理逻辑.mp4
│  │  ├─125_126.优化客户端加入连接过程和结果的判断.mp4
│  │  ├─126_127.移植网络调试助手到ARM-Linux平台验证.mp4
│  ├─5.汽车仪表盘
│  │  ├─127_128.PainterEvent.mp4
│  │  ├─128_129.QPainter画文字.mp4
│  │  ├─129_130.QPainter画线画矩形画椭圆.mp4
│  │  ├─130_131.QPainter画弧画扇形.mp4
│  │  ├─131_132.QGradient线性渐变.mp4
│  │  ├─132_133.QGradient径向渐变和锥形渐变.mp4
│  │  ├─133_134.小综合-实现一个仿雷达扫描器.mp4
│  │  ├─134_135.简易仪表盘制作001.mp4
│  │  ├─135_136.简易仪表盘制作002.mp4
│  │  ├─136_137.简易仪表盘完结.mp4
│  │  ├─137_138.简易仪表盘美化需要处理的问题.mp4
│  │  ├─138_139.仪表盘优化-正弦纠正刻度文字方向.mp4
│  │  ├─139_140.代码优化-封装整理代码结构.mp4
│  │  ├─140_141.仪表盘指针样式美化.mp4
│  │  ├─141_142.汽车仪表盘高速标注红色.mp4
│  │  ├─142_143.汽车仪表盘速度显示优化.mp4
│  │  ├─143_144.汽车仪表盘内环发光圈.mp4
│  │  ├─144_145.汽车仪表盘外环发光圈.mp4
│  │  ├─145_146.汽车仪表盘完结.mp4
│  ├─6.天气预报
│  │  ├─146_147.天气预报项目概述.mp4
│  │  ├─147_148.天气预报界面-中部.mp4
│  │  ├─148_149.天气预报界面-上部.mp4
│  │  ├─149_150.天气预报界面-下部-空气-温度.mp4
│  │  ├─150_151.天气预报界面-下部.mp4
│  │  ├─151_152.天气预报界面完成.mp4
│  │  ├─152_153.天气预报重写鼠标右键事件-退出功能.mp4
│  │  ├─153_154.天气预报重写鼠标移动事件-移动窗口.mp4
│  │  ├─153_155. 天气预报-天气数据来源方案.mp4
│  │  ├─153_156. 网络通信协议基本概念.mp4
│  │  ├─154_157.天气预报-QtHttp编程-天气原始数据获得.mp4
│  │  ├─155_158.天气预报-QtHttp编程-处理网络请求失败.mp4
│  │  ├─156_159.JSON概述.mp4
│  │  ├─157_160.JSON数据封装生成一个文件.mp4
│  │  ├─158_161.JSON数据封装加强理解和应用.mp4
│  │  ├─159_162.JSON数据解析.mp4
│  │  ├─160_163.JSOn数据解析-对象数组.mp4
│  │  ├─160_164. 天气预报-刷新当天的天气数据.mp4
│  │  ├─160_165. 天气预报-支持不同城市天气.mp4
│  │  ├─161_166.天气预报-QMap解决天气BUG.mp4
│  │  ├─162_167.天气预报-支持天气图标刷新.mp4
│  │  ├─163_168.天气预报-获取7天天气数据.mp4
│  │  ├─164_169.天气预报-更新7天天气UI显示.mp4
│  │  ├─165_170.天气预报-优化上节课显示不好的地方.mp4
│  │  ├─166_171.用事件过滤器在子控件上绘图.mp4
│  │  ├─167_172.天气预报-绘制7天高低温曲线图.mp4
│  │  ├─168_173.天气预报-最终版本.mp4
│  └─7.加餐
│  │  ├─169_174.Linux系统安装-Ubuntu22.mp4
│  │  ├─170_175.Linux基本用法-QT环境安装.mp4
│  │  ├─171_176.Linux下运行我们写的程序.mp4
│  │  ├─172_177.Linux和windows补充验证网络助手.mp4
│  │  ├─173_178.Linux下QT中文支持.mp4
│  │  ├─174_179.Linux虚拟机使用的重要提示.mp4
│  │  ├─175_180.加餐课-自定义按键-绘制和使用.mp4
│  │  ├─176_181.加餐课-自定义按键-动画效果.mp4
│  │  ├─177_182.加餐课-自定义按键-信号与槽加入新工程.mp4
├─7.Linux系统编程
│  ├─Linux开发环境.exe
│  ├─1.文件
│  │  ├─399_1.文件编程概述.mp4
│  │  ├─400_2.文件打开及创建.mp4
│  │  ├─401_3.文件写入操作编程.mp4
│  │  ├─402_4.文件读取操作.mp4
│  │  ├─403_5.文件光标移动操作.mp4
│  │  ├─404_6.文件打开创建的补充.mp4
│  │  ├─405_7.文件操作原理简述.mp4
│  │  ├─405_8.文件操作小应用之实现cp指令.mp4
│  │  ├─406_9.解决上节课中的隐藏bug.mp4
│  │  ├─407_10.文件编程小应用之修改程序的配置文件.mp4
│  │  ├─408_11.写一个整数到文件.mp4
│  │  ├─409_12.写结构体数组到文件.mp4
│  │  ├─410_13.标准C库对文件操作引入.mp4
│  │  ├─411_14.标准c库打开创建文件读写文件光标移动.mp4
│  │  ├─412_15.标准c库写入结构体到文件.mp4
│  │  ├─413_16.文件其它函数讲解及文件收尾.mp4
│  │  ├─Linux系统编程之文件.pptx
│  ├─2.进程
│  │  ├─414_1.进程相关概念.mp4
│  │  ├─415_2.创建进程函数fork的使用.mp4
│  │  ├─416_3.创建进程函数fork的使用补充.mp4
│  │  ├─417_4.进程创建发生了什么事.mp4
│  │  ├─418_5.创建新进程的实际应用场景及fork总结.mp4
│  │  ├─419_6.vfork创建进程.mp4
│  │  ├─420_7.进程退出.mp4
│  │  ├─421_8.父进程等待子进程退出(一).mp4
│  │  ├─422_9.父进程等待子进程退出(二).mp4
│  │  ├─423_10.exec族函数.mp4
│  │  ├─424_11.exec族函数配合fork使用.mp4
│  │  ├─424_12.system函数.mp4
│  │  ├─425_13.popen函数.mp4
│  │  ├─426_14.进程总结.mp4
│  │  ├─Linux系统编程之进程.pptx
│  ├─3.进程间通信
│  │  ├─1.进程间通信概述.mp4
│  │  ├─2.管道通信原理.mp4
│  │  ├─3.管道编程实战.mp4
│  │  ├─4.创建命名管道.mp4
│  │  ├─5.命名管道的数据通信编程实现.mp4
│  │  ├─6.消息队列的通信原理.mp4
│  │  ├─7.消息队列相关api.mp4
│  │  ├─8.消息队列编程收发数据.mp4
│  │  ├─9.键值生成及消息队列移除.mp4
│  │  ├─10.共享内存概述.mp4
│  │  ├─11.共享内存编程实现.mp4
│  │  ├─12.信号概述.mp4
│  │  ├─13.信号编程.mp4
│  │  ├─14.信号如何携带消息.mp4
│  │  ├─15.信号携带消息编程实战.mp4
│  │  ├─16.信号量概述.mp4
│  │  ├─17.信号量编程实现一.mp4
│  │  ├─18.信号量编程实现二.mp4
│  ├─4.线程
│  │  ├─437_1.线程概述(与进程的区别及线程的优势).mp4
│  │  ├─438_2.线程创建等待及退出.mp4
│  │  ├─439_3.线程共享内存空间的代码验证.mp4
│  │  ├─440_4.线程同步之互斥量加锁解锁.mp4
│  │  ├─441_5.互斥锁限制共享资源的访问.mp4
│  │  ├─442_6.什么情况造成死锁.mp4
│  │  ├─443_7.线程条件控制实现线程的同步.mp4
│  ├─5.网络编程
│  │  ├─444_1.网络编程概述.mp4
│  │  ├─445_2.字节序.mp4
│  │  ├─446_3.socket编程步骤.mp4
│  │  ├─447_4.Linux提供的API简析.mp4
│  │  ├─448_5.socket服务端代码实现一.mp4
│  │  ├─449_6.socket服务端代码实现二.mp4
│  │  ├─450_7.socket客户端代码实现.mp4
│  │  ├─451_8.实现双方聊天.mp4
│  │  ├─452_9.多方消息收发.mp4
│  │  ├─Linux网络编程.pptx
│  └─6.项目指导
│  │  ├─453_1.项目运行结果.mp4
│  │  ├─454_2.项目研发思路.mp4
│  │  ├─455_3.项目指导.mp4
├─8.Linux-全志H616
│  ├─07.全志H6.exe
│  ├─456_01.全志H616课程概述.mp4
│  ├─457_02.H616开发板OrangePiZero2介绍.mp4
│  ├─458_03.开发板刷机和系统登录.mp4
│  ├─459_04.开发板配置网络SSH登录.mp4
│  ├─460_05.修改开发板内核启动日志级别.mp4
│  ├─461_06.官方外设库SDK安装和验证.mp4
│  ├─462_07.老演员蜂鸣器BB响.mp4
│  ├─463_08.上节课遗留问题.mp4
│  ├─464_09.超声波测距原理.mp4
│  ├─465_10.Linux算时差方法-可用于程序运行效率比较.mp4
│  ├─466_11.超声波测距代码编程实现.mp4
│  ├─467_12.舵机转向原理回顾.mp4
│  ├─468_13.Linux定时器开发实战.mp4
│  ├─469_14.Linux定时器控制舵机实战开发.mp4
│  ├─470_15.IIC接口OLED屏概述.mp4
│  ├─471_16.官方OLED代码功能验证.mp4
│  ├─472_17.SourceInsigt初读库源码研究OLED_DE.mp4
│  ├─473_18.Oled显示自己想要的字符.mp4
│  ├─474_19.串口开发基本概念回顾.mp4
│  ├─475_20.wiringPi的串口开发及优化.mp4
│  ├─476_21.wiringPi库的串口源码解读.mp4
│  ├─477_22.不用wiringPI自己实现串口通信.mp4
│  ├─478_23.语音刷抖音01-su03T语音模块配置.mp4
│  ├─479_24.语音刷抖音02-su03固件烧写并测试.mp4
│  ├─480_25.语音刷抖音03-编程实现语音指令识别流程框架.mp4
│  ├─481_26.语音刷抖音04-手机连接Linux系统的adb操作细.mp4
│  ├─482_27.语音刷抖音05-adb控制指令测试.mp4
│  ├─483_28.语音刷抖音06-编程整合功能并测试.mp4
│  ├─484_29.Udev作用概述.mp4
│  ├─485_30.守护进程概述.mp4
│  ├─486_31.守护进程开发实战并添加开机自启动.mp4
│  ├─487_32.编写判断某程序是否在运行的程序.mp4
│  ├─488_33.守护进程应用之关不掉的语言刷手机程序.mp4
│  ├─489_34.udev的rules编写.mp4
│  ├─490_35.编写udev规则自动挂载U盘.mp4
│  ├─491_35.初识SQLite数据库.mp4
│  ├─492_36.SQLite数据库安装.mp4
│  ├─493_37.SQL指令01-表创建和数据添加.mp4
│  ├─494_38.SQL指令-表更新查询添加列.mp4
│  ├─495_39.SQL编程-打开创建关闭数据库及错误提示.mp4
│  ├─496_40.SQL编程-C代码执行sql语句.mp4
│  ├─497_41.SQL编程-C代码建表和插入数据.mp4
│  ├─498_42.SQLite数据库其他操作及总结.mp4
│  ├─499_43.带图像识别的智能垃圾桶项目概述.mp4
│  ├─500_44.Linux安装Python环境.mp4
│  ├─501_45.初探python.mp4
│  ├─502_46.一小时学会Python一.mp4
│  ├─503_47.一小时学会Python二.mp4
│  ├─504_48.一小时学会Python三.mp4
│  ├─505_49.一小时学会Python04.mp4
│  ├─506_50节字典的多层嵌套.mp4
│  ├─507_51节c语言执行python语句.mp4
│  ├─508_52节C语言调用python无参函数.mp4
│  ├─509_53节C语言调用python有参函数.mp4
│  ├─510_54节阿里云垃圾分类接入.mp4
│  ├─511_55节香橙派镜像的选择及配置.mp4
│  ├─512_56节C语言调用阿里云Python接口.mp4
│  ├─513_57节香橙派摄像头的使用.mp4
│  ├─514_58节垃圾分类中语音模块的配置.mp4
│  ├─515_59节VSCode远程连接使用.mp4
│  ├─516_60.语音模块和阿里云结合.mp4
│  ├─517_61.增加垃圾桶及开关盖功能.mp4
│  ├─518_62.项目代码优化.mp4
│  ├─519_63解决上节课一流的bug.mp4
│  ├─520_64.增加oled显示功能.mp4
│  ├─521_65.增加网络控制功能.mp4
│  ├─522_66节OrangePiZero2SDK介绍.mp4
│  ├─523_67节交叉编译工具链配置.mp4
│  ├─524_68节编译工具及构建工具介绍.mp4
│  ├─525_69节Makefile的规则(-).mp4
│  ├─526_70节Makefile的规则(二).mp4
│  ├─527_71节Makef的规则(三).mp4
│  ├─528_72节Makefile的规则(四).mp4
│  ├─529_73节Makefile的规则(五).mp4
│  ├─530_74节Makefile的规则(六).mp4
│  ├─531_75.交叉编译_上.mp4
│  ├─532_75节交叉编译wiringOP库.mp4
│  ├─533_76节交叉编译智能分类工程代码.mp4
│  ├─534_77节嵌入式Linux系统的组成.mp4
│  ├─535_78节uboot编译.mp4
│  ├─536_79节内核编译下.mp4
│  ├─537_81节orangePizero2智能家居前期准备.mp4
│  ├─538_82节接入阿里云人脸识别方案.mp4
│  ├─539_83节C语言调用阿里云人脸识别Python接口.mp4
│  ├─540_84节POSIX消息队列(上).mp4
│  ├─541_85节POSIX消息队列(下).mp4
│  ├─542_86节基于OrangePiZero2的智能家居软件框架设计.mp4
│  ├─543_87节软件工程的前期准备.mp4
│  ├─544_88节添加语音监听接口.mp4
│  ├─545_89节添加语音接口编译测试.mp4
│  ├─546_90节添加网络监听接口.mp4
│  ├─547_91节添加烟雾监听接口.mp4
│  ├─548_92节烟雾监听功能验证.mp4
│  ├─549_93节添加监控链表代码优化.mp4
│  ├─550_94添加消息接收监听接口.mp4
│  ├─551_95节设备类节点接口.mp4
│  ├─552_96节添加客厅灯控制.mp4
│  ├─553_97添加卧室灯和风扇控制代码.mp4
│  ├─554_98卧室灯和风扇控制验证.mp4
│  ├─555_99添加火灾报警检测功能.mp4
│  ├─556_100节解决显示及语音播报问题.mp4
│  ├─557_101节添加人脸开门功能.mp4
│  ├─558_102节ini文件解析.mp4
│  ├─559_103节用ini配置文件的方式优化代码.mp4
├─9.树莓派Linux
│  ├─05. 树莓派.exe
│  ├─560_1.嵌入式开发概述.mp4
│  ├─561_2.树莓派刷机.mp4
│  ├─562_3.串口方式登录树莓派.mp4
│  ├─563_4.配置树莓派接入网络.mp4
│  ├─564_6.更新新版vim方便编程使用.mp4
│  ├─565_5.ssh方式登陆树莓派.mp4
│  ├─566_7.树莓派图形xrdp界面登录.mp4
│  ├─567_8.树莓派和windows的FileZilla文件共享.mp4
│  ├─568_9.linux库引入之分文件编程.mp4
│  ├─569_10.linux库引入之动态库静态库.mp4
│  ├─570_11.linux库之静态库的生成和使用.mp4
│  ├─571_12.linux库之动态库生成和使用.mp4
│  ├─572_13.树莓派外设开发综述一.mp4
│  ├─573_14.树莓派外设开发综述二.mp4
│  ├─574_15.树莓派控制继电器.mp4
│  ├─575_16.继电器接入电器的使用效果.mp4
│  ├─576_17.继电器组硬件控制开发.mp4
│  ├─577_18.超声波的工作原理(基于wemos小项目拆分的讲解).mp4
│  ├─578_19.树莓派超声波测距编程实现.mp4
│  ├─579_20.串口通信协议概述,针对面试!.mp4
│  ├─580_21.树莓派和电脑之间串口通信编程.mp4
│  ├─581_22.树莓派和语音模块实现语音识别功能.mp4
│  ├─582_23.交叉编译的概念.mp4
│  ├─583_24.树莓派(或者其他平台)交叉编译工具链的安装.mp4
│  ├─584_25.交叉编译阶段二的项目并运行.mp4
│  ├─585_26.带WiringPi库的交叉编译如何处理一.mp4
│  ├─586_27.带WiringPi库的交叉笔译如何处理二之软链接概念.mp4
│  ├─587_28.带WiringPi库的交叉笔译如何处理三.mp4
│  ├─588_29.Ubuntu18-04虚拟机搭建VMware版本.mp4
│  ├─589_30.安装基础程序不要问人咯,太Low的问题问百度.mp4
│  ├─590_31.为Linux内核开发做基础准备工作.mp4
│  ├─591_32.嵌入式设备带操作系统的启动过程扫盲.mp4
│  ├─592_33.Linux内核源码树扫盲分析.mp4
│  ├─593_34.配置Linux内核适合树莓派相关操作.mp4
│  ├─594_35.Linux内核编译.mp4
│  ├─595_36.Linux内核镜像拷贝至树莓派并启动新内核.mp4
│  ├─596_37.文件系统认知一.mp4
│  ├─597_38.文件系统认知二.mp4
│  ├─598_39.文件系统认知三.mp4
│  ├─599_40.什么是虚拟文件系统.mp4
│  ├─600_41.Linux内核结构介绍.mp4
│  ├─600_42. Linux内核结构补充.mp4
│  ├─601_43.驱动认知第一节.mp4
│  ├─602_44.驱动认知第二节.mp4
│  ├─603_45.基于框架编写驱动代码.mp4
│  ├─604_46.驱动代码编译和测试.mp4
│  ├─605_47.驱动阶段性总结.mp4
│  ├─606_48.微机总线地址物理地址虚拟地址介绍.mp4
│  ├─607_49.树莓派博通BCM2835芯片手册导读.mp4
│  ├─608_50.IO操控代码编程一.mp4
│  ├─609_51.IO操控代码编程二.mp4
│  ├─610_52.IO口驱动代码调试和测试.mp4
│  └─语音模块
│  │  ├─291_1.语音模块以及硬件模块化开发的行情.mp4
│  │  ├─292_3.语音模块文档查看及语音识别干扰.mp4
│  │  ├─293_4.最强代码阅读器sourceInsight工具介绍.mp4
│  │  ├─294_5.语音识别模块代码分析一.mp4
│  │  ├─295_6.语音识别模块代码分析二.mp4
│  │  ├─296_7.语音识别模块二次开发专门定制.mp4
├─10.智能家居项目
│  ├─787_1.智能家居项目运行效果展示.mp4
│  ├─788_2.智能家居功能细节拆分.mp4
│  ├─789_3.智能家居模型搭建.mp4
│  ├─789_4. 设计模式的概念引入.mp4
│  ├─790_5.C语言面向对象引入类和对象的概念.mp4
│  ├─791_6.C结构体新玩法.mp4
│  ├─791_7.工厂模式概念引入.mp4
│  ├─792_8.工厂模式的实现.mp4
│  ├─793_9.工厂模式使用及功能验证.mp4
│  ├─794_10.智能家居项目框架设计.mp4
│  ├─795_11.智能家居架构代码文件工程建立.mp4
│  ├─796_12.主流程设计和浴室灯框架编写.mp4
│  ├─797_13.浴室灯代码实现和测试.mp4
│  ├─797_14.浴室灯改错全过程及功能验证.mp4
│  ├─798_15.二楼灯功能实现.mp4
│  ├─799_16.sourceInsight乱码问题注意.mp4
│  ├─800_17.继电器组四盏灯全部实现及功能验证.mp4
│  ├─801_18.添加火灾检测模块.mp4
│  ├─802_19.添加声音识别模块的串口读取功能.mp4
│  ├─803_20.串口代码调错全过程(坎坷确实大家常遇见的难题).mp4
│  ├─804_21.添加Socket服务器功能.mp4
│  ├─805_22.主程序代码初步编写,实现语音和网络线程.mp4
│  ├─806_23.主程序编译运行,测试网络功能.mp4
│  ├─807_24.测试串口功能.mp4
│  ├─808_25.摄像头模块安装.mp4
│  ├─809_26.树莓派mjpg-streamer实现监控功能调试.mp4
│  ├─809_27.人脸识别方案.mp4
│  ├─810_28.OSI网络模型记忆点.mp4
│  ├─811_29.三次握手四次挥手面试理解和记忆.mp4
│  ├─812_30.Socket TCP HTTP之间的区别.mp4
│  ├─812_31.HTTP协议相关名词概念扫盲.mp4
│  ├─812_32.HTTPS协议及密码学基础名字扫盲.mp4
│  ├─812_33.初见Libcurl库.mp4
│  ├─813_34.libcurl等第三方库的通用编译方法.mp4
│  ├─814_35.调用libcurl编程访问百度主页.mp4
│  ├─815_36.libcurl函数库常用字段解读并设置数据读取回调函数.mp4
│  ├─815_37.人工智能OCR识别平台翔云等介绍.mp4
│  ├─815_38.人脸识别接口购买.mp4
│  ├─815_39.编程实现人脸识别第一次.mp4
│  ├─816_40.编译openssl支持libcurl的https访问.mp4
│  ├─817_41.编程实现人脸识别第二次加入图片base64编码.mp4
│  ├─818_42.人脸识别成功并封装Base64编码函数.mp4
│  ├─819_6分钟识别车牌.mp4
├─11.安卓APP之Java基础
│  ├─820_1.嵌入式为什么学习java.mp4
│  ├─821_2.Java安卓开发环境搭建并运行HelloWorld.mp4
│  ├─822_3.JAVASE EE ME的概念和区别扯淡.mp4
│  ├─823_4.JRE JDK扯淡继续.mp4
│  ├─824_5.通过java书本来了解java学习的大致内容.mp4
│  ├─825_6.Java的基本数据类型和C基本一样.mp4
│  ├─826_7.选择控制流程和C语言一毛一样.mp4
│  ├─827_8.循环控制和C语言一毛一样.mp4
│  ├─828_9.JAVA数组和C基本一样,稍微区别.mp4
│  ├─829_10.Java方法就是C的函数,稍微区别.mp4
│  ├─830_11.Java找最高分最低分和计算器案例实现.mp4
│  ├─831_12.数组规范一个小补充.mp4
│  ├─832_13.Java的输入类Scanner.mp4
│  ├─833_14.java封装之封装类及类的使用.mp4
│  ├─834_15.java封装之访问修饰符.mp4
│  ├─835_16.java封装之访问修饰符封装属性及方法.mp4
│  ├─836_17.java封装之构造方法.mp4
│  ├─837_18.java封装之this关键字.mp4
│  ├─838_19.java封装之static关键字.mp4
│  ├─839_20.java封装之包.mp4
│  ├─840_21.java继承的概念及用法.mp4
│  ├─841_22.java继承之super关键字.mp4
│  ├─842_23.java继承之私有权限.mp4
│  ├─843_24.java继承之方法重写.mp4
│  ├─844_25.java继承之object类.mp4
│  ├─845_26.java继承之综合小练习.mp4
│  ├─846_27.java继承之简单工厂模式.mp4
│  ├─847_28.java抽象方法和抽象类.mp4
│  ├─848_29.java抽象类应用模板方法模式.mp4
│  ├─850_31.java内部类之成员内部类.mp4
│  ├─851_32.java内部类之匿名内部类.mp4
│  ├─852_33.多态的概念和案例实现.mp4
│  ├─853_34.多态中上下转型要注意的点.mp4
│  ├─854_35.多态应用案例之打印机.mp4
│  ├─855_36.异常的概念及分类.mp4
│  ├─856_37.异常的处理.mp4
│  ├─857_38.异常抛出及自定义异常.mp4
│  ├─858_39.Java高级之泛型概念引入.mp4
│  ├─859_40.泛型可以设置多个类型参数.mp4
│  ├─860_41.泛型继承和泛型接口实现.mp4
│  ├─861_42.限制泛型可用类型.mp4
│  ├─862_43.泛型通配的方式.mp4
│  ├─863_44.泛型方法.mp4
│  ├─864_45.泛型方法限制泛型可用类型.mp4
├─12.安卓app入门及应用
│  ├─06. Android代码.exe
│  ├─865_1.安卓工程构建及第一个安卓程序运行.mp4
│  ├─866_2.安卓工程结构介绍.mp4
│  ├─867_3.安卓app启动过程简述.mp4
│  ├─868_4.安卓布局分类及布局和页面的关系.mp4
│  ├─869_5.安卓app开发显示一个美女.mp4
│  ├─870_6.安卓app开发显示两个美女.mp4
│  ├─871_7.相对布局RelativeLayout常用属性.mp4
│  ├─872_8.基础控件按键文本框输入框制作登录界面.mp4
│  ├─873_9.Margin和Padding.mp4
│  ├─874_10.相对布局综合小演练-智能家居刷卡界面.mp4
│  ├─875_11.按键快速美化的小技巧.mp4
│  ├─876_12.线性布局介绍.mp4
│  ├─877_13.线性布局weight属性.mp4
│  ├─878_14.线性布局微调参数gravity.mp4
│  ├─879_15.线性布局divider.mp4
│  ├─880_16.按键响应第一种方式onClick属性.mp4
│  ├─881_17.按键响应第一中方式,xml中onclick属性.mp4
│  ├─882_18.按键响应第二种方式,接口类.mp4
│  ├─883_19.按键响应的第三种方式,匿名内部类.mp4
│  ├─884_20.按键响应第四种方式,Activity.mp4
│  ├─885_21.如何添加一个页面(activity).mp4
│  ├─886_22.如何跳转页面.mp4
│  ├─887_23.页面跳转传参方式一(剩余代码自己补充).mp4
│  ├─888_24.页面跳转传参方式二.mp4
│  ├─889_25.安卓线程实现页面的自动跳转.mp4
│  ├─890_26.Activity(页面)的生命周期.mp4
│  ├─891_27.Java高级补充之Socket服务端.mp4
│  ├─892_28.Java高级之Socket服务端支持多连接.mp4
│  ├─893_29.Java高级之Socket客户端.mp4
│  ├─894_30.Java高级之Socket客户端支持发送和接收.mp4
│  ├─895_31.Android的Socket客户端开发.mp4
│  ├─896_32.Android的Socket客户端优化.mp4
│  ├─897_33.Android非UI线程修改控件程序崩溃的问题.mp4
│  ├─898_34.倒计时软件.mp4
│  ├─899_35.Android网络接收数据并刷新界面.mp4
│  ├─900_36.WebView控件之自制浏览器APP.mp4
│  ├─901_37.第三阶段智能家居APP页面开发.mp4
├─13.WemosD1垃圾桶
│  ├─902_1.基于Wemos的项目演示和项目意义.mp4
│  ├─903_3.Wemos玩转蜂鸣器,叫你一声敢响吗?.mp4
│  ├─904_4.Wemos通过串口告诉电脑陈立臣很帅.mp4
│  ├─905_5.编程让Wemos见人说人话,见鬼说鬼话.mp4
│  ├─906_6.通过串口控制蜂鸣器的响与不响.mp4
│  ├─907_7.垃圾桶硬件整体连接过程.mp4
│  ├─908_8.详细接线图,接错了是小狗啊.mp4
│  ├─909_9.Wemos控制SG90电机调试开关盖效果.mp4
│  ├─910_10.Wemos串口控制垃圾桶开关盖.mp4
│  ├─911_11.超声波的测距原理.mp4
│  ├─912_12.根据原理实现超声波测距的代码.mp4
│  ├─913_14.超声波测距代码中为什么要除以58.mp4
│  ├─914_15.项目综合及效果验证.mp4
│  ├─915_16.项目总结.mp4
├─14.WemosD1小车
│  ├─916_1.wifi避障小车效果一睹为快.mp4
│  ├─917_3.Wemos玩转蜂鸣器,叫你一声敢响吗?.mp4
│  ├─918_4.Wemos通过串口告诉电脑陈立臣很帅.mp4
│  ├─919_5.编程让Wemos见人说人话,见鬼说鬼话.mp4
│  ├─920_6.通过串口控制蜂鸣器的响与不响.mp4
│  ├─921_7.Wemos接入wifi靓仔迅捷开发啊.mp4
│  ├─922_8.牛逼吊炸天的CS模式也就这样.mp4
│  ├─923_9.编程Wemos服务器,通过手机tcp工具远程网络控制蜂.mp4
│  ├─924_10.超声波的测距原理.mp4
│  ├─925_11.根据原理实现超声波测距的代码.mp4
│  ├─926_12.超声波测距代码验证,小于10厘米蜂鸣器响起.mp4
│  ├─927_13.超声波测距代码中为什么要除以58.mp4
│  ├─928_14.避障小车改造过程.mp4
│  ├─929_15.小车接线详解.mp4
│  ├─930_16.实现小车前后左右的电机驱动功能.mp4
│  ├─931_17.项目综合一串口控制小车前后左右.mp4
│  ├─932_18.项目综合二wifi控制小车前后左右.mp4
│  ├─933_19.吊炸酷炫安卓环境搭建和基本代码修改.mp4
│  ├─934_20.项目综合三手机APP控制小车完结.mp4
│  ├─935_21.项目综合四app控制小车加入避障功能.mp4
│  ├─936_22.嵌入式工程师从智能小车开始起飞.mp4
│  ├─937_23小车使用电池供电,实现脱缰的野狗.mp4
└─15.RGBWemosD1
│  ├─0. RGB体验课.exe
│  ├─672_选修-RGBWemosD1-01. 项目运行效果_1080p.mp4
│  ├─673_选修-RGBWemosD1-02. 项目配套赠送硬件一览学浪版_1080p.mp4
│  ├─674_选修-RGBWemosD1-2. 配套赠送硬件说明_1080p.mp4
│  ├─675_选修-RGBWemosD1-03. 单片机就像听话的朋友,接受人类的控制_1080p.mp4
│  ├─676_选修-RGBWemosD1-03. 单片机就像听话的朋友,接受人类的控制学浪版_1080p.mp4
│  ├─677_选修-RGBWemosD1-04. 开发环境安装及注意三点事项_1080p.mp4
│  ├─678_选修-RGBWemosD1-05. 蜂鸣器控制原理_1080p.mp4
│  ├─679_选修-RGBWemosD1-06. 编程实现蜂鸣器滴滴响_1080p.mp4
│  ├─680_选修-RGBWemosD1-07. 串口简介_1080p.mp4
│  ├─681_选修-RGBWemosD1-08. 编程实现电脑控制蜂鸣器_1080p.mp4
│  ├─682_选修-RGBWemosD1-09. 语音模块配置固件_1080p.mp4
│  ├─683_选修-RGBWemosD1-10. 语音模块固件烧写并控制蜂鸣器_1080p.mp4
│  ├─684_选修-RGBWemosD1-11. PERFECT PG社区的RGB手写板介绍_1080p.mp4
│  ├─685_选修-RGBWemosD1-12.电脑控制RGB手写板,完成红外码破解_1080p.mp4
│  ├─686_选修-RGBWemosD1-13. 编程轻微地实现以下语音控制RGB手写板_1080p.mp4
│  ├─687_选修-RGBWemosD1-14. 针对上节课的复盘和接线变化梳理补充_1080p.mp4
│  ├─688_选修-RGBWemosD1-15. WemosD1代码完整遥控码添加_1080p.mp4
│  ├─689_选修-RGBWemosD1-16. 优化后的代码_1080p.mp4
│  ├─690_选修-RGBWemosD1-17.完善语音识别词条,制作最终固件_1080p.mp4
│  ├─691_选修-RGBWemosD1-02. 项目配套赠送硬件一览学浪版_1080p.mp4
│  ├─692_选修-RGBWemosD1-2. 配套赠送硬件说明_1080p.mp4
│  ├─693_选修-RGBWemosD1-03. 单片机就像听话的朋友,接受人类的控制_1080p.mp4
│  ├─694_选修-RGBWemosD1-03. 单片机就像听话的朋友,接受人类的控制学浪版_1080p.mp4
│  ├─695_选修-RGBWemosD1-04. 开发环境安装及注意三点事项_1080p.mp4
│  ├─696_选修-RGBWemosD1-05. 蜂鸣器控制原理_1080p.mp4
│  ├─697_选修-RGBWemosD1-06. 编程实现蜂鸣器滴滴响_1080p.mp4
│  ├─698_选修-RGBWemosD1-07. 串口简介_1080p.mp4
│  ├─699_选修-RGBWemosD1-08. 编程实现电脑控制蜂鸣器_1080p.mp4
│  ├─700_选修-RGBWemosD1-09. 语音模块配置固件_1080p.mp4
│  ├─701_选修-RGBWemosD1-10. 语音模块固件烧写并控制蜂鸣器_1080p.mp4
│  ├─702_选修-RGBWemosD1-11. PERFECT PG社区的RGB手写板介绍_1080p.mp4
│  ├─703_选修-RGBWemosD1-12.电脑控制RGB手写板,完成红外码破解_1080p.mp4
│  ├─704_选修-RGBWemosD1-13. 编程轻微地实现以下语音控制RGB手写板_1080p.mp4
│  ├─705_选修-RGBWemosD1-14. 针对上节课的复盘和接线变化梳理补充_1080p.mp4
│  ├─706_选修-RGBWemosD1-15. WemosD1代码完整遥控码添加_1080p.mp4
│  ├─707_选修-RGBWemosD1-16. 优化后的代码_1080p.mp4
│  ├─708_选修-RGBWemosD1-17.完善语音识别词条,制作最终固件_1080p.mp4
│  ├─938_01.体验课-前言.mp4
│  ├─939_02.项目运行效果.mp4
│  ├─940_03.开发环境安装.mp4
│  ├─941_04.风扇硬件连接.mp4
│  ├─942_05.编程实现风扇转动和停止.mp4
│  ├─943_06.超声波测距原理和编程实现.mp4
│  ├─944_07.距离感应控制风扇编程实现.mp4
│  ├─945_08.最终效果-越近越慢编程实现.mp4
│  ├─946_09.自制力底层逻辑概述.mp4
│  ├─947_10.看懂自己和他人-自恋.mp4
│  ├─948_11.看懂自己和他人-攻击性.mp4
│  ├─949_12.看懂自己和他人-性.mp4
│  ├─950_13.看懂自己和他人-总结.mp4.mp4
│  ├─951_14.如何自我定位.mp4
│  ├─952_01.项目运行效果.mp4
│  ├─953_02.项目配套赠送硬件一览学浪版.mp4
│  ├─954_2.配套赠送硬件说明.mp4
│  ├─955_03.单片机就像听话的朋友,接受人类的控制.mp4
│  ├─956_03.单片机就像听话的朋友,接受人类的控制学浪版.mp4
│  ├─957_04.开发环境安装及注意三点事项.mp4
│  ├─958_05.蜂鸣器控制原理.mp4
│  ├─959_06.编程实现蜂鸣器滴滴响.mp4
│  ├─960_07.串口简介.mp4
│  ├─961_08.编程实现电脑控制蜂鸣器.mp4
│  ├─962_09.语音模块配置固件.mp4
│  ├─963_10.语音模块固件烧写并控制蜂鸣器.mp4
│  ├─964_11.PERFECTPG社区的RGB手写板介绍.mp4
│  ├─965_12.电脑控制RGB手写板,完成红外码破解.mp4
│  ├─966_13.编程轻微地实现以下语音控制RGB手写板.mp4
│  ├─967_14.针对上节课的复盘和接线变化梳理补充.mp4
│  ├─968_15.WemosD1代码完整遥控码添加.mp4
│  ├─969_16.优化后的代码.mp4
│  ├─970_17.完善语音识别词条,制作最终固件.mp4
免责声明:
1、本站资源所有言论和图片纯属用户个人意见,与本站立场无关
2、本站所有资源收集于互联网,由用户分享,该帖子作者与本站不享有任何版权,如有侵权请联系本站删除
3、本站部分内容转载自其它网站,但并不代表本站赞同其观点和对其真实性负责
4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意