|
完整无秘课件齐全!文件太多了减少了01阶段视频内容和02阶段的视频内容还有04阶段day1和day2的视频内容,要不然发不出来,帖子就受字数限制了。
9 |$ m* w: s! h0 A+ D4 R( p2 w
2 B+ z) y4 c5 t/ \, K# I/ a) w┣━【黑马程序员】嵌入式开发2024
* h! S+ b+ i& x1 u8 c4 C8 t┃ ┣━01阶段:模拟电路,计算机原理
, m4 c( B2 }, }& W0 R5 v) x& f┃ ┃ ┣━模拟电路
3 {* {& s' c: J! U5 _$ ?3 z3 ?┃ ┃ ┣━视频: X7 R6 ~4 S* E
┃ ┃ ┣━计算机组成原理
4 L: v6 ]& i v$ R7 J┃ ┣━02阶段:C语言编程. D/ R6 }( _7 }1 z& g
┃ ┃ ┣━day01 M7 j5 Q' ]: y
┃ ┃ ┃ ┣━视频
* C8 {' O% B% a% K8 o5 ~┃ ┃ ┣━day024 S( d6 m0 Y' e$ y1 s# p) r4 s
┃ ┃ ┃ ┣━视频& F6 s+ r0 \! b% \ l8 R
┃ ┃ ┣━day03
) I) u( q# M; [& D9 c┃ ┃ ┃ ┣━视频
, z9 x$ l$ Q4 a1 W) q2 D┃ ┃ ┣━day04
( a) q% k* F* q┃ ┃ ┃ ┣━视频1 m$ X% _1 r6 @
┃ ┃ ┣━day05
6 r6 G) _2 l; F2 j: Y! d┃ ┃ ┃ ┣━视频% B* T7 c6 t( e( O! e8 W" A
┃ ┃ ┣━day06
5 F6 J2 d+ j& X. E1 x [8 W┃ ┃ ┃ ┣━视频
& L9 u v( H# ?- ^( h- g* Z' G! x┃ ┣━03阶段:STC8增强型单片机开发
D. W2 |6 L' P) s- }$ Q1 H┃ ┃ ┣━day01* F9 q0 }0 i3 k" z4 B1 u* H' I
┃ ┃ ┃ ┣━Video" S- ~2 x2 x3 J0 z6 Z1 [
┃ ┃ ┃ ┃ ┣━00_课程简介.mp4
! I) G3 d4 ]+ }7 ? a6 L1 l5 t┃ ┃ ┃ ┃ ┣━01_STC系列产品介绍.mp4
5 i9 @2 a% G0 k' m9 u! L┃ ┃ ┃ ┃ ┣━02_MCU的CPU和外设关系.mp4
' } z/ U4 k( L& t0 b┃ ┃ ┃ ┃ ┣━03_Keil软件的安装与激活.mp4
2 ~9 v! y9 @& U! n5 j/ u┃ ┃ ┃ ┃ ┣━04_Keil创建第一个STC8工程.mp4% ]2 a0 h: W4 o/ V- D
┃ ┃ ┃ ┃ ┣━05_Keil编写代码及烧录流程.mp4/ b5 }4 Y2 H; e0 A T& v
┃ ┃ ┃ ┃ ┣━06_IO模式配置.mp4
0 ^) n* C- t3 ]7 h6 n/ x J┃ ┃ ┣━day02
8 n0 D4 ~4 B! [0 ?) c3 O# b┃ ┃ ┃ ┣━Video
, B0 i& j/ }' y, V┃ ┃ ┃ ┃ ┣━04_点灯_通过库函数实现1.mp4, o6 Q/ d; J% t: ?
┃ ┃ ┃ ┃ ┣━05_点灯_通过库函数实现2.mp4
4 U! u& Z% X# g1 z6 }┃ ┃ ┃ ┃ ┣━09_UART串口基础知识.mp44 M: |+ B' v( q- q
┃ ┃ ┃ ┃ ┣━10_UART初始化.mp4
7 G. m- D8 l' k+ I' Y9 v┃ ┃ ┃ ┃ ┣━14_使用逻辑分析仪解析数据.mp41 W7 ]5 k! G9 q. f C
┃ ┃ ┃ ┃ ┣━16_UART1和UART4数据通讯实现.mp4
9 C+ H( Q6 G2 p) v. K┃ ┃ ┃ ┃ ┣━00_知识回顾.mp4, ] Y* }, Y! R9 I, R' j
┃ ┃ ┃ ┃ ┣━01_IO模式_高阻输入&开漏输出.mp4
% w9 s; ^9 X1 ^* y6 S' Y┃ ┃ ┃ ┃ ┣━02_软延时操作.mp4. Y J2 s7 W* D4 l
┃ ┃ ┃ ┃ ┣━03_点灯_通过寄存器实现.mp4
' U$ F" L, D: w9 p* i3 R┃ ┃ ┃ ┃ ┣━06_通过Delay库函数实现延时.mp40 N1 n w p6 ~6 z( q' p
┃ ┃ ┃ ┃ ┣━11_UART初始化重点注意.mp4
" A h. ]+ J; f( N" L2 r9 P┃ ┃ ┃ ┃ ┣━13_UART重点注意.mp4
/ F: o! K; p ?5 r5 m# f, }. C; y┃ ┃ ┃ ┃ ┣━15_串口通讯测试需求.mp4 C! Q6 B1 I7 t; H' ~, y" ~0 p$ a
┃ ┃ ┃ ┃ ┣━07_LogicAnalyzer逻辑分析仪的使用.mp4/ Z2 a, ]. V5 g i
┃ ┃ ┃ ┃ ┣━08_AStyle格式化工具.mp4' `) i! `" X& ~: q t2 ~2 B7 u1 ~
┃ ┃ ┃ ┃ ┣━12_UART数据的接收并回显.mp4' p8 Q3 [; h% `1 X3 I$ w
┃ ┃ ┣━day03
R- \6 ~# C. e2 E/ E┃ ┃ ┃ ┣━Video
- B1 J. ?. z, a, K! K┃ ┃ ┃ ┃ ┣━02_UART1数据接收发送_寄存器形式.mp4
7 s! p" f* Z! H0 n: l5 D: v┃ ┃ ┃ ┃ ┣━06_extern关键字_封装头文件.mp4
8 x$ e" Y) [& l( q( \2 J┃ ┃ ┃ ┃ ┣━08_Timer的定时器自动重装机制.mp4& O, P$ Y5 t2 u$ U, i( g8 N
┃ ┃ ┃ ┃ ┣━00_知识回顾.mp46 }8 h8 Z! |7 d' I
┃ ┃ ┃ ┃ ┣━01_认识中断系统.mp45 _. t+ K* M* H; y
┃ ┃ ┃ ┃ ┣━03_通过UART1中断函数开关灯.mp4
6 w; A F. n0 I% G) X1 o┃ ┃ ┃ ┃ ┣━05_extern关键字.mp4
4 }8 o; [0 \% q/ ?' {6 ~2 d9 I, m┃ ┃ ┃ ┃ ┣━07_Timer的初始化及配置.mp43 _0 U/ G- O, N4 l" ~
┃ ┃ ┃ ┃ ┣━09_Timer利用extern实现自己的业务.mp4
9 j5 j- f2 x! `6 ?' v! K9 {: t: K- A┃ ┃ ┃ ┃ ┣━04_不同主频下机器周期的执行时间.mp4
% @1 C5 W' [4 u6 f* f┃ ┃ ┃ ┃ ┣━10_LED灯组_全部点亮.mp49 F' U. g1 Q/ l
┃ ┃ ┃ ┃ ┣━11_LED_SW总开关失效的解决方法.mp4- ?; [" x" R; P. S" _
┃ ┃ ┃ ┃ ┣━12_LED灯组_走马灯.mp4
& b( n/ A8 `- F) v( W; C) J┃ ┃ ┣━day04' u1 a) o$ K7 e/ @1 [" P6 T
┃ ┃ ┃ ┣━Video
9 X7 Z, j: V3 U9 _+ ]3 F5 L, S┃ ┃ ┃ ┃ ┣━00_知识回顾.mp4
- ?/ c. `& I, \' b/ O┃ ┃ ┃ ┃ ┣━03_LED灯组_Timer调整灯的亮灭.mp4
5 e' P# o' U% C4 C* @% {┃ ┃ ┃ ┃ ┣━04_LED灯组_Timer配合UART调整duty.mp44 y1 v4 K' N# d1 k2 L7 ~ S
┃ ┃ ┃ ┃ ┣━08_LED灯组_串口控制PWM占空比.mp4
: s5 t# @* u* I┃ ┃ ┃ ┃ ┣━09_PWM死区设置.mp4( \$ k: g. w: c4 h* b
┃ ┃ ┃ ┃ ┣━10_LED灯组_8路PWM控制.mp4
7 G. `. X8 U4 f┃ ┃ ┃ ┃ ┣━11_震动马达.mp4/ L* c# }; `7 K4 h& r, V6 x
┃ ┃ ┃ ┃ ┣━12_震动马达_PWM控制.mp4% m/ p: [2 \4 G# Y$ W7 C
┃ ┃ ┃ ┃ ┣━15_ADC采样_热敏电阻测温原理.mp4
1 o5 u. Q* | t3 t┃ ┃ ┃ ┃ ┣━01_LED灯组_UART串口控制.mp4
" d$ q* L0 ?5 a7 R; E┃ ┃ ┃ ┃ ┣━02_UART接收数据判断逻辑.mp4/ ~4 j- m$ }/ V( f; D
┃ ┃ ┃ ┃ ┣━05_PWM简介.mp4
- m5 G7 h4 \/ E8 n: m┃ ┃ ┃ ┃ ┣━06_LED灯组_PWM控制.mp4
5 I; z4 Y0 i v; H' H1 G, ^┃ ┃ ┃ ┃ ┣━07_LED灯组_PWM呼吸灯.mp4
6 s5 S* K, d3 P┃ ┃ ┃ ┃ ┣━13_ADC采样_电位器电压.mp4
4 U5 W/ e' B8 \1 T( X┃ ┃ ┃ ┃ ┣━14_ADC采样_内部1.19V参考信号源.mp4/ {$ Z# m z& F
┃ ┃ ┣━day05
) v7 A, w& }. v4 ~- ~) e$ h! Z┃ ┃ ┃ ┣━Video
9 M u3 S. }. l. m2 y7 K, M┃ ┃ ┃ ┃ ┣━00_PWM频率&周期&占空比.mp4
$ q5 u1 c6 J$ X M: W┃ ┃ ┃ ┃ ┣━01_知识回顾.mp4$ C* O+ @/ H% p% h. j4 }9 X w' Z# ?; E
┃ ┃ ┃ ┃ ┣━04_ADC采样_热敏电阻_封装NTC.mp4
# j9 w/ r2 x1 r/ \1 i┃ ┃ ┃ ┃ ┣━05_ADC采样_热敏电阻_封装NTC优化.mp4! n6 O* v( T9 t( }- e# ]
┃ ┃ ┃ ┃ ┣━06_独立按键_获取单个按钮状态.mp4$ M7 {2 p( ~" }! n
┃ ┃ ┃ ┃ ┣━07_独立按键_获取多个按钮状态.mp4
+ R! C) A; p" C: ^0 O# J7 B┃ ┃ ┃ ┃ ┣━09_数码管_认识数码管.mp4
3 B: G- |4 l9 V- h┃ ┃ ┃ ┃ ┣━11_数码管_移位寄存器的操作方式.mp4
: {2 i8 m, c. p I( \┃ ┃ ┃ ┃ ┣━12_数码管_输出数据到移位寄存器.mp4
1 D p- M |$ j1 l┃ ┃ ┃ ┃ ┣━02_ADC采样_热敏电阻_求出阻值.mp46 E' D8 ?2 U% ]% O1 [; L4 @6 b- u
┃ ┃ ┃ ┃ ┣━03_ADC采样_热敏电阻_根据阻值查出温度.mp4
9 [, r3 Q+ I7 e- L4 B4 X┃ ┃ ┃ ┃ ┣━08_独立按键_使用位操作.mp4
; l+ i+ l L* m9 O' z8 w# {4 E┃ ┃ ┃ ┃ ┣━10_数码管_使用Digtal模拟.mp4
, O" V+ @, B2 {% a┃ ┃ ┣━day061 ]1 g( \- c+ ~7 o7 n
┃ ┃ ┃ ┣━Video
1 [5 x1 |8 a6 y! ~' G# n┃ ┃ ┃ ┃ ┣━04_数码管_其他引脚功能.mp4
B1 u4 o- e( R4 `1 h/ @┃ ┃ ┃ ┃ ┣━05_数码管_函数优化.mp4
. V' m1 v, s3 n$ T+ e/ j9 x" `$ g9 G" t┃ ┃ ┃ ┃ ┣━06_蜂鸣器_发声原理.mp4) j- B1 _" F2 y! S
┃ ┃ ┃ ┃ ┣━07_蜂鸣器_基础乐理知识.mp4
# ^& z6 d6 e( [+ Z0 A% W% |: M& ? x┃ ┃ ┃ ┃ ┣━09_蜂鸣器_使用PWM播放.mp4
( r. R+ i) f# |! T3 n4 ~┃ ┃ ┃ ┃ ┣━11_蜂鸣器_播放两只老虎.mp4: m1 O/ \) X" L9 {, w7 Z% u
┃ ┃ ┃ ┃ ┣━00_知识回顾.mp4; m" F: D: \! d. z/ h. I, F8 }( ?
┃ ┃ ┃ ┃ ┣━01_数码管_两个字节控制.mp4
9 c! }# Z) ^$ y1 ^6 _┃ ┃ ┃ ┃ ┣━02_数码管_封装库函数show.mp4
3 N- z' U8 u# C' D( i┃ ┃ ┃ ┃ ┣━12_蜂鸣器_播放天空之城.mp44 @" z& g7 O, _& V1 S. Q
┃ ┃ ┃ ┃ ┣━03_数码管_封装库函数display.mp48 _; W5 `0 q1 c
┃ ┃ ┃ ┃ ┣━08_蜂鸣器_播放哆来咪发唆拉西哆.mp4* A8 Z0 @% B6 k5 A
┃ ┃ ┃ ┃ ┣━10_蜂鸣器_两只老虎乐谱.mp4; @* s7 l# _( s% M/ H5 J* S e
┃ ┃ ┣━day07
; I$ P3 F7 J$ z( W/ y┃ ┃ ┃ ┣━Video% m7 b( {4 t1 U/ I( K: t5 C; |( Y. O
┃ ┃ ┃ ┃ ┣━05_RTC时钟_读取数据_秒.mp4
; n# |0 `* d$ e+ e- u┃ ┃ ┃ ┃ ┣━06_I2C协议读写流程.mp44 _& G" A1 m" i4 c1 j
┃ ┃ ┃ ┃ ┣━09_RTC时钟_写秒分时日月年.mp47 ?6 K" r$ H2 C0 T
┃ ┃ ┃ ┃ ┣━11_外部中断_INT0.mp4" {; e- V4 \! H) ~3 r
┃ ┃ ┃ ┃ ┣━00_知识回顾.mp4
( @: k& y6 s O l4 F _┃ ┃ ┃ ┃ ┣━01_RTC时钟芯片的电路.mp4
+ }1 W4 N+ B& o; \┃ ┃ ┃ ┃ ┣━03_I2C开发环境准备.mp4
: |. m& E; [8 T K2 `9 q┃ ┃ ┃ ┃ ┣━04_RTC时钟芯片PCF8563文档阅读.mp4
: E- b# O! i7 G9 C% Y┃ ┃ ┃ ┃ ┣━07_RTC时钟_读取秒分时.mp45 z. ~+ T3 f% z z+ l% v
┃ ┃ ┃ ┃ ┣━08_RTC时钟_读取年月日.mp4' M6 R8 p" e0 G" _. d
┃ ┃ ┃ ┃ ┣━10_RTC时钟_封装读写函数.mp4* o$ C7 R8 d3 b U
┃ ┃ ┃ ┃ ┣━12_外部中断_INT3.mp4: I) c* ?! t' Q4 T2 W- x1 X+ e
┃ ┃ ┃ ┃ ┣━13_RTC时钟_设置闹钟Alarm.mp4! ]/ H6 s& O5 t! V
┃ ┃ ┃ ┃ ┣━02_I2C总线简介.mp4- i2 H5 e [, H# T( ]! h7 L
┃ ┃ ┣━day08' f# B1 j( W4 \/ Y% T0 l7 M
┃ ┃ ┃ ┣━Video4 Z6 }5 E1 w6 x4 @ f0 B F3 @
┃ ┃ ┃ ┃ ┣━03_RTC时钟_封装Alarm.mp4
: G& [' Y) P. H3 [3 O0 [4 U8 p: M┃ ┃ ┃ ┃ ┣━07_RTC时钟_Timer封装.mp4
/ c3 q! p# q7 i; {┃ ┃ ┃ ┃ ┣━01_考试题讲解.mp4
( {- O% c$ U/ v3 Z2 U┃ ┃ ┃ ┃ ┣━02_考题讲解2.mp4
1 |8 g3 E8 K, Z m3 o┃ ┃ ┃ ┃ ┣━05_RTC时钟_Timer的开发流程.mp4
" ?* g2 `$ r. B V' k┃ ┃ ┃ ┃ ┣━08_RTC时钟_区分Timer和Alarm.mp4" O) y- Y7 b* j2 A2 i
┃ ┃ ┃ ┃ ┣━04_RTC时钟_封装Alarm2.mp4: L9 `# _$ w; g `) c
┃ ┃ ┃ ┃ ┣━06_RTC时钟_实现Timer.mp4( x, N' u& c% W0 {1 K }- s
┃ ┃ ┣━day09
2 B; C9 M0 Y! \; b, Z; ?! v. ]┃ ┃ ┃ ┣━Video0 u* i$ a9 G) w. R$ N3 K
┃ ┃ ┃ ┃ ┣━02_0.96寸OLED显示屏_介绍.mp42 G% A" h) L2 A% F& O5 M
┃ ┃ ┃ ┃ ┣━07_0.96寸OLED显示屏_显示日期时间.mp41 }+ v$ {9 U; R0 [
┃ ┃ ┃ ┃ ┣━08_I2C通讯数据查看_逻辑分析仪.mp4
( S& q/ {& F* X, y┃ ┃ ┃ ┃ ┣━09_DHT11温湿度传感器的数据时序.mp4
4 E1 |0 p) `! J, R4 ]( ?┃ ┃ ┃ ┃ ┣━授人以渔.mp4( X. k) c8 {. V3 w; }
┃ ┃ ┃ ┃ ┣━03_0.96寸OLED显示屏C51_IIC官方示例.mp4 `5 Z- ^% ?- r8 H
┃ ┃ ┃ ┃ ┣━04_0.96寸OLED显示屏_显示字符&汉字.mp4
( Q5 l! U7 N2 y0 ~┃ ┃ ┃ ┃ ┣━05_0.96寸OLED显示屏_显示图片.mp4* k0 q, J- o+ n3 J( q+ O. q
┃ ┃ ┃ ┃ ┣━06_0.96寸OLED显示屏_移植OLED为I2C硬实现.mp44 Z9 y* p7 _ Z' h5 N
┃ ┃ ┃ ┃ ┣━10_DHT11温湿度_解析数据.mp46 g' v% b& g2 P3 a' v- b1 n! p" ?
┃ ┃ ┃ ┃ ┣━11_DHT11温湿度_解析40个bit.mp4& v7 [1 Y$ W6 a: ? j$ p
┃ ┃ ┃ ┃ ┣━00_知识回顾.mp4
. t0 I$ F- O. C& ]┃ ┃ ┃ ┃ ┣━01_RTC时钟_I2C读写数据_单独启用Alarm&Timer.mp4! T/ X) F3 f0 G* ^
┃ ┃ ┣━day10
h, P. D. l% Y┃ ┃ ┃ ┣━Video
1 J6 n. j" u+ a1 E┃ ┃ ┃ ┃ ┣━01_DHT11温湿度传感器_解析数据.mp4% k9 G. E: |8 ]
┃ ┃ ┃ ┃ ┣━02_DHT11温湿度传感器_解决潜在bug.mp4
: f0 j6 ~# t) }8 H; S U┃ ┃ ┃ ┃ ┣━05_SPI协议OLED屏幕_官方示例.mp4: ` I7 c0 G5 S) c) J
┃ ┃ ┃ ┃ ┣━06_SPI协议OLED屏幕_官方示例API.mp4
* z5 z9 r( q0 o: A┃ ┃ ┃ ┃ ┣━08_矩阵键盘_多个按钮.mp4: T! J6 b! B6 m& ?$ d
┃ ┃ ┃ ┃ ┣━13_使用EEPROM读写str.mp4
3 k( B. U8 h/ L5 Z( E3 \5 m┃ ┃ ┃ ┃ ┣━00_知识回顾.mp4
! d) I: o$ \7 ^0 V2 W$ m4 B" ~ F& e' {, f┃ ┃ ┃ ┃ ┣━03_DHT11温湿度传感器_封装.mp4
6 x( x- d$ [! {8 A4 r9 i┃ ┃ ┃ ┃ ┣━04_SPI协议OLED屏幕_SPI通讯流程.mp4
9 j {+ _0 b3 V9 p; r! q8 i┃ ┃ ┃ ┃ ┣━07_矩阵键盘_单个按钮.mp4/ v7 a" |# `3 i0 I+ P& D6 F
┃ ┃ ┃ ┃ ┣━09_矩阵键盘_全部按钮_数组存储状态.mp4
3 D. l7 o2 y* I6 W! X, h┃ ┃ ┃ ┃ ┣━11_矩阵键盘_全部按钮_封装.mp41 b) V( f% D+ L2 P; }
┃ ┃ ┃ ┃ ┣━12_了解EEPROM.mp4
( _ N4 ] F- g- e┃ ┃ ┃ ┃ ┣━10_矩阵键盘_全部按钮_二进制位存储状态.mp4
% E& c; L9 B* r2 H0 ]┃ ┃ ┃ ┃ ┣━编辑器&浏览器配置.mp4
3 F1 ]8 C3 j- v" }┃ ┃ ┣━day11
8 U4 |7 H. `0 o┃ ┃ ┃ ┣━Video
3 |" E* R5 p8 T# t; c. o, Z% @┃ ┃ ┃ ┃ ┣━00_知识回顾.mp4
3 v4 @$ j$ y$ ^3 r┃ ┃ ┃ ┃ ┣━06_USB键盘_Config描述符.mp4. V# _. K( [+ r- v& d5 I, t
┃ ┃ ┃ ┃ ┣━09_USB键盘_避免频繁发送数据.mp4
- G2 ~$ f( k9 K/ D! a0 C$ I- a b2 U┃ ┃ ┃ ┃ ┣━10_USB键盘_PC_OUT获取LOCK状态.mp4
$ z+ S$ w# ^( z# u1 P( K& s┃ ┃ ┃ ┃ ┣━小车焊接.mp4' i+ g+ g$ F' [8 l
┃ ┃ ┃ ┃ ┣━01_HID官方示例.mp4 Z# m4 g+ y1 {7 E/ U- O" Y
┃ ┃ ┃ ┃ ┣━02_HID文件了解.mp4. ?$ l; J+ j9 b! e9 `+ o
┃ ┃ ┃ ┃ ┣━03_封装USB的HID协议驱动.mp4
$ G- V/ Q# }4 O; ?┃ ┃ ┃ ┃ ┣━04_USB键盘_集成矩阵键盘.mp4! {" Y& Y @; ^( e* A( a
┃ ┃ ┃ ┃ ┣━05_USB键盘_封装发送函数&点灯.mp4
0 c" T" t- T; z0 e! U3 }┃ ┃ ┃ ┃ ┣━07_USB键盘_配置HID描述符.mp48 V r6 `' h; O+ M, p- C7 r
┃ ┃ ┃ ┃ ┣━11_USB键盘_封装LED回调函数.mp43 T5 ^* }, a. O$ `* P
┃ ┃ ┃ ┃ ┣━13_USB鼠标_实现移动&按键.mp40 K; y2 n6 ~: x. `3 c2 A
┃ ┃ ┃ ┃ ┣━08_USB键盘_发送多个按键.mp4
' c# f( X T* U┃ ┃ ┃ ┃ ┣━12_USB鼠标_描述符配置.mp4$ E, Q: X( l9 e1 D% m8 u) y
┃ ┃ ┣━day12
5 |5 m. w; \7 B! y┃ ┃ ┃ ┣━Video
0 X8 a# E4 |) c, e# P┃ ┃ ┃ ┃ ┣━00_知识回顾.mp4! B; M1 T1 r8 z' G, a2 o4 N/ @3 B
┃ ┃ ┃ ┃ ┣━01_今日任务.mp4
* L5 S. C+ O& }: p┃ ┃ ┃ ┃ ┣━02_新建STC8H原理图&供电.mp4( l y7 W' _4 i: S( S
┃ ┃ ┃ ┃ ┣━04_CH340的二极管和电阻.mp4
" o2 V, l- N; a) M5 g- l┃ ┃ ┃ ┃ ┣━06_线性稳压器LDO_可调输出ADJ.mp45 J# C8 N4 ~" Q/ V+ L. D+ F( C
┃ ┃ ┃ ┃ ┣━10_替换电容电阻为0603.mp4
* B U1 G( c0 M( |! G5 F┃ ┃ ┃ ┃ ┣━小车自测固件.mp4% w! r. X: ?5 T+ s; C0 O
┃ ┃ ┃ ┃ ┣━05_线性稳压器5V-3V3.mp4! x; ^) G/ q, g1 K9 ]
┃ ┃ ┃ ┃ ┣━07_Type-C接口.mp4" o% z0 r5 l& R1 B+ N
┃ ┃ ┃ ┃ ┣━08_LED指示灯.mp4( {% Z: d: ]0 Z
┃ ┃ ┃ ┃ ┣━09_串口和HID切换&所有引脚.mp4
5 X$ q0 J, D7 W: l% F* _* S8 k┃ ┃ ┃ ┃ ┣━11_PCB设计_摆放元器件.mp4
( A, S R0 M0 I/ o" i┃ ┃ ┃ ┃ ┣━12_PCB设计_电源布线.mp4
+ Q1 f8 t' @. \& T0 t8 ~2 K2 `/ q┃ ┃ ┃ ┃ ┣━03_CH340及周围电路.mp4& ?+ v% @) ?' t4 \
┃ ┃ ┣━day13
) n# }. F6 q. i3 X5 n8 Z# U┃ ┃ ┃ ┣━Video7 @% @1 K" b4 X7 \2 V/ W h7 r
┃ ┃ ┃ ┃ ┣━03_串口烧录器_PCB走线.mp4& i! J% J+ e/ s: M% i% e8 D
┃ ┃ ┃ ┃ ┣━05_小闹钟_SCH_时钟芯片.mp4
9 |/ s) v5 k! ^1 `% @, n┃ ┃ ┃ ┃ ┣━07_小闹钟_PCB电源走线.mp43 K0 A1 y7 M- g
┃ ┃ ┃ ┃ ┣━01_串口烧录器_SCH提取.mp4
% V' _: Q" a, I" S3 Y8 K# W┃ ┃ ┃ ┃ ┣━04_串口烧录器_端子接线问题.mp4
4 \# v, h8 u$ C' p: e: {) [2 P┃ ┃ ┃ ┃ ┣━06_小闹钟_PCB_摆放器件.mp4
6 F, p$ w5 E3 Y& g8 G. Y┃ ┃ ┃ ┃ ┣━06_小闹钟_SCH_其他外设.mp4
2 E- g* ] w9 P: e: K┃ ┃ ┃ ┃ ┣━02_串口烧录器_PCB布局.mp4
* U+ x4 G E! U& D$ @1 }0 S7 y4 k┃ ┃ ┣━day14 J( ^- p4 U- d8 J5 }+ T8 M8 a
┃ ┃ ┃ ┣━Video( O% [ \& F9 C' @7 _1 L3 m2 z+ e8 ~
┃ ┃ ┃ ┃ ┣━01_了解最小操作系统.mp4' A x- T2 P/ F x5 X; P
┃ ┃ ┃ ┃ ┣━02_RTX51系统_环境初始化.mp4
* W8 \; @' u# R% l) K┃ ┃ ┃ ┃ ┣━04_RTX51系统_集成库函数.mp4/ g$ r* ?0 S" q( K: h
┃ ┃ ┃ ┃ ┣━09_巡线小车_简介.mp4
) e- v5 G0 p1 R" ^6 n┃ ┃ ┃ ┃ ┣━11_巡线小车_按键控制.mp4- ?# y, J# U6 q, a/ D' W0 A
┃ ┃ ┃ ┃ ┣━03_RTX51系统_多任务执行.mp41 `7 Q4 G5 \8 M( w c
┃ ┃ ┃ ┃ ┣━05_RTX51系统_K_TMO和K_IVL区别.mp47 a% Q" W0 @ q+ Z( j3 n, W! X
┃ ┃ ┃ ┃ ┣━06_RTX51系统_K_SIG信号.mp4/ a2 m# V* ~$ f3 N/ ~
┃ ┃ ┃ ┃ ┣━07_RTX51系统_外设驱动.mp40 K5 C! {' M' T
┃ ┃ ┃ ┃ ┣━08_RTX51系统_按键更新数码管.mp4
1 q1 W1 q {6 i& R. E) n2 E┃ ┃ ┃ ┃ ┣━12_巡线小车_ADC电压检测Battery.mp44 H7 U3 o3 p" i( A' L
┃ ┃ ┃ ┃ ┣━13_巡线小车_蜂鸣器Buzzer.mp4( @" A4 x, W- i7 r
┃ ┃ ┃ ┃ ┣━00_知识复习.mp4) O0 v# ^* ?! a! j! H3 P3 t, h+ F8 G4 Z
┃ ┃ ┃ ┃ ┣━10_巡线小车_车灯控制.mp4
" H, {6 u& ^5 W) V4 U5 m9 f┃ ┃ ┣━day15
+ ^! S4 h1 F) |9 R Y- @! }┃ ┃ ┃ ┣━Video
# l8 o0 m+ q1 |( `! z6 W e7 S# r) W┃ ┃ ┃ ┃ ┣━01_超声测距_原理.mp41 {, |" [8 f* \7 [* s" A5 H( A
┃ ┃ ┃ ┃ ┣━02_超声测距_TRIG触发测距.mp4
' C4 @& U; c9 p┃ ┃ ┃ ┃ ┣━03_超声测距_ECHO计算距离.mp4% \+ ?" d, q# Y# X$ ? S3 k% S! l7 F
┃ ┃ ┃ ┃ ┣━04_循迹传感器_原理介绍.mp44 _3 o: ]8 a' g2 z# }( G
┃ ┃ ┃ ┃ ┣━08_巡线小车_IO控制电机.mp43 t4 }+ M; ^* E% j- E( C- m. y
┃ ┃ ┃ ┃ ┣━09_巡线小车_PWM控制小车速度.mp4+ P9 s: v9 |* {4 X3 r0 |) x
┃ ┃ ┃ ┃ ┣━11_巡线小车_PWM控制所有车轮.mp4$ d4 ?# B8 E& _# T
┃ ┃ ┃ ┃ ┣━12_巡线小车_PWM指定速度实现转弯&掉头.mp4
; g2 t; C) T$ V! E$ N┃ ┃ ┃ ┃ ┣━05_循迹传感器_读取所有光电传感器状态.mp4
/ W# \! \) L: e* l+ ]+ u+ u┃ ┃ ┃ ┃ ┣━06_循迹传感器_计算小车转弯方向.mp4
8 }& V* l$ R2 N4 q3 F4 Z; P┃ ┃ ┃ ┃ ┣━07_循迹传感器_光电传感器问题排查.mp4* G/ q; Y8 ?7 n: l# [8 S- U$ H
┃ ┃ ┃ ┃ ┣━00_知识回顾.mp46 {" H; m j( H) w& Y
┃ ┃ ┃ ┃ ┣━10_巡线小车_PWM控制前进后退.mp4
4 a B2 N+ a) u2 P4 _┃ ┃ ┣━day165 W! k# O( _0 s, ~1 S& v/ x/ B9 Y! r
┃ ┃ ┃ ┣━Video
( T4 U1 ^. A$ \) {┃ ┃ ┃ ┃ ┣━01_巡线小车_根据按钮切换巡线功能.mp4* k6 j$ T7 f1 J
┃ ┃ ┃ ┃ ┣━05_蓝牙模块_AT指令1.mp4% a: |4 ~$ T! e/ r. e b/ j
┃ ┃ ┃ ┃ ┣━07_蓝牙模块_通过核心板直连.mp4
0 j3 b( w( P1 d8 t+ O┃ ┃ ┃ ┃ ┣━10_遥控小车_接收并处理模拟遥控器数据.mp4
- g1 s8 ~3 t& I$ ]" L┃ ┃ ┃ ┃ ┣━02_巡线小车_根据巡线传感器调整方向.mp41 F+ Z) c, {5 r# u9 a) c- x: E
┃ ┃ ┃ ┃ ┣━03_蓝牙模块_简介.mp4) A( W6 R8 O+ {4 B& J; z
┃ ┃ ┃ ┃ ┣━06_蓝牙模块_AT指令2.mp4
/ x/ `! p% ?0 O8 w┃ ┃ ┃ ┃ ┣━08_蓝牙模块_通过PC或手机蓝牙连接.mp4* J2 ?+ ^+ @8 V& [+ V. d" d* _
┃ ┃ ┃ ┃ ┣━09_蓝牙模块_接收消息并执行.mp4
6 D/ u+ w) M% C┃ ┃ ┃ ┃ ┣━11_遥控小车_启用禁用超声测距模块.mp4
1 U; A! O6 v& S; K% {$ I┃ ┃ ┃ ┃ ┣━12_遥控小车_启用禁用巡线.mp4+ s4 @$ {& a0 M0 _
┃ ┃ ┃ ┃ ┣━13_遥控小车_遇到前方障碍物停车.mp4' T. F5 N( b* ^; i. C
┃ ┃ ┃ ┃ ┣━14_遥控小车_电量监测.mp4
, O7 R! u* v# N; O┃ ┃ ┃ ┃ ┣━15_遥控小车_方向控制.mp4' E9 C: k, {2 P, R
┃ ┃ ┃ ┃ ┣━04_蓝牙模块_通讯流程.mp4
) Z, i' K5 x+ R* w7 O┃ ┃ ┣━day17( g: r$ F1 O0 M& O! ~$ B
┃ ┃ ┃ ┣━Video
1 Z" w* [* a0 F) k( W┃ ┃ ┃ ┃ ┣━02_舵机PWM_分频系数.mp4
' H# u) ?& W5 |0 [. R R┃ ┃ ┃ ┃ ┣━00_舵机PWM的控制原理.mp4
4 ^0 ^" i, r6 |9 z- a4 K4 C┃ ┃ ┃ ┃ ┣━01_舵机PWM_工程初始化.mp4# ~" G1 R4 W9 D0 ]/ P4 W
┃ ┃ ┃ ┃ ┣━03_舵机PWM_修改不同的占空比.mp4 i2 |2 l5 q6 ~+ p7 y0 D6 P5 ?
┃ ┣━04阶段:Python与上位机开发& k6 ~( @& x' L. v
┃ ┃ ┣━day01
3 g) w4 L& \3 j0 Z, m7 I┃ ┃ ┣━day02
2 Z* U: `, |6 Q5 R┃ ┃ ┣━day03; ?# A2 c& N- j3 ]
┃ ┃ ┃ ┣━Video- e1 _! q3 L. H( _' d
┃ ┃ ┃ ┃ ┣━01_推导式.mp4
2 @/ ?! Z9 `* V3 I9 g" T┃ ┃ ┃ ┃ ┣━05_类和对象.mp4+ k0 ~0 E9 w8 f
┃ ┃ ┃ ┃ ┣━06_声明类&创建对象.mp4
& o. I% V/ v; S- B2 e' k0 g, N┃ ┃ ┃ ┃ ┣━09_练习_搬家具进房子.mp4% X- f$ F% M+ u4 t1 ^+ R5 Z. z
┃ ┃ ┃ ┃ ┣━15_面向对象_扩展知识.mp4
3 \4 |! F( W3 I8 }, K6 c+ Z┃ ┃ ┃ ┃ ┣━17_pygame创建窗口.mp4
$ h+ `& M, n5 E, }1 E┃ ┃ ┃ ┃ ┣━00_知识回顾.mp47 a5 \( L4 U0 @
┃ ┃ ┃ ┃ ┣━02_高级变量的公共语法.mp44 b) _% B) n/ R0 s) c" \
┃ ┃ ┃ ┃ ┣━03_练习_字符串的逆序统计.mp4
1 Q& J$ C8 x1 u& k$ v3 q% R8 \' p┃ ┃ ┃ ┃ ┣━04_面向对象概念.mp4# r: V6 F* Z; [
┃ ┃ ┃ ┃ ┣━07_类的组成.mp4* b3 M/ G% K7 ?- ~+ O% P' l+ I7 O6 q
┃ ┃ ┃ ┃ ┣━08_特殊方法和参数.mp4
+ z- L- e; N9 Y, J" T3 | J; E┃ ┃ ┃ ┃ ┣━10_str和repr.mp40 d7 r6 ]" L7 q3 Y. e
┃ ┃ ┃ ┃ ┣━11_private私有化.mp47 F0 u5 K0 u8 r4 C7 x& V
┃ ┃ ┃ ┃ ┣━14_面向对象_多态.mp46 |# [$ B' m# T7 h1 N8 Z6 a7 ?
┃ ┃ ┃ ┃ ┣━16_pygame环境准备.mp4
0 Z# S2 {* E1 g┃ ┃ ┃ ┃ ┣━12_面向对象_封装.mp46 j# p% |$ i- P
┃ ┃ ┃ ┃ ┣━13_面向对象_继承.mp4
% I# s E8 Q* M' a# C┃ ┃ ┣━day04& U; ]& U/ Q' H8 a
┃ ┃ ┃ ┣━Video
+ ^, i3 R3 D4 }! N6 e+ ~1 u; n3 x┃ ┃ ┃ ┃ ┣━03_pygame自动计算fps_Clock.mp4
$ v3 _8 `9 A* j2 i' c! V8 J" o$ b& M3 {┃ ┃ ┃ ┃ ┣━04_pygame绘制背景图&线条.mp4
6 j# e7 h l- j7 s┃ ┃ ┃ ┃ ┣━05_pygame封装Snake和Food.mp4' h* v* P; l' p& c2 y
┃ ┃ ┃ ┃ ┣━06_pygame蛇身移动起来.mp42 R7 \' U3 O; V0 |: z% `6 Z1 T
┃ ┃ ┃ ┃ ┣━07_pygame蛇身根据用户输入更新方向.mp4
& u5 Z* p, s+ H! L, ?7 P5 n: a┃ ┃ ┃ ┃ ┣━10_pygame吃掉食物&更新食物.mp4
+ S |( w0 J, w; k% s' G* H; n┃ ┃ ┃ ┃ ┣━11_pygame碰撞墙壁&身体判定.mp42 V" E: @% I% L) }
┃ ┃ ┃ ┃ ┣━00_知识回顾.mp4& |; X7 a3 ?& a; i+ V1 F5 Y) g
┃ ┃ ┃ ┃ ┣━01_pygame基本操作.mp4' e( e/ P" N* s A' M
┃ ┃ ┃ ┃ ┣━02_pygame手动计算fps.mp4
2 g' v$ ]" d. P. L) J. M/ o, ^┃ ┃ ┃ ┃ ┣━08_pygame封装Game类.mp4) P$ n) ^4 K% b0 b
┃ ┃ ┃ ┃ ┣━12_pygame游戏结束&文字绘制.mp4$ m- u/ r# {& ?0 h: L5 q" d
┃ ┃ ┃ ┃ ┣━13_pygame穿墙从另一端出现&原地调头bug.mp4
- U0 n$ Z& F* N/ _3 W& f┃ ┃ ┃ ┃ ┣━14_pygame其他细节.mp4/ i# A9 ]; z8 H
┃ ┃ ┃ ┃ ┣━09_pygame更新蛇头图标.mp4
\5 o. Z; g2 T4 }$ L7 e┃ ┃ ┣━day05
5 b6 s' l6 B4 Z1 Z9 a┃ ┃ ┃ ┣━Video
, p7 ?" X' p1 r( O' O5 j, J3 h, w: z% X┃ ┃ ┃ ┃ ┣━00_知识回顾.mp4& ~# Q8 c( }; ~1 P \
┃ ┃ ┃ ┃ ┣━01_module_导入模块中的功能.mp4
3 W% \/ M: J+ g9 a┃ ┃ ┃ ┃ ┣━04_VSCode配置常用代码块.mp44 j. o0 o5 o7 ~0 u8 m" N9 o
┃ ┃ ┃ ┃ ┣━07_常用系统内置模块2_random_math.mp4
# [* k3 `; R/ g3 W, r5 u┃ ┃ ┃ ┃ ┣━09_异常捕获try_except_finally.mp4
# [8 P7 Z" `/ C) F! s% e2 I┃ ┃ ┃ ┃ ┣━14_默认值参数和关键字参数.mp4
m. z# z" t" R! V3 G( K7 `┃ ┃ ┃ ┃ ┣━17_可变参数_组合使用.mp4
0 R! l( ?4 S& ?- M! @; B6 Z& B┃ ┃ ┃ ┃ ┣━18_递归函数.mp4 X* {/ W: o7 B( i' J! H; K$ y
┃ ┃ ┃ ┃ ┣━02_module_模块导入冲突及解决.mp4
1 n( z( T" j+ x( r# \9 _& z, i- }┃ ┃ ┃ ┃ ┣━03_模块内置变量__name__.mp4* @/ B: l3 v& ]% N4 ]
┃ ┃ ┃ ┃ ┣━05_包package.mp4' y9 @: a5 [! E) P- D
┃ ┃ ┃ ┃ ┣━06_常用系统内置模块sys_datetime等.mp4: k% z( \0 [3 V9 _/ j; E. {: T
┃ ┃ ┃ ┃ ┣━08_异常捕获try_except.mp47 Z$ ?( J& W& y! G* N3 G, ?8 G
┃ ┃ ┃ ┃ ┣━10_异常捕获try_except_else_finally.mp4
3 e$ {0 J5 \& V) v┃ ┃ ┃ ┃ ┣━11_常见异常.mp42 Q* I0 q9 p5 [+ Y _
┃ ┃ ┃ ┃ ┣━12_自定义异常.mp4
2 x) a- P3 Z, F% Q3 i5 i, \+ w. o┃ ┃ ┃ ┃ ┣━16_可变参数.mp47 q! {! O) V; o* D9 w0 _; |% K2 j
┃ ┃ ┃ ┃ ┣━20_文件的写入.mp4, \& v4 X! } c/ y" W
┃ ┃ ┃ ┃ ┣━22_绝对路径&相对路径.mp4
- H: }- x9 j g' z H( |┃ ┃ ┃ ┃ ┣━23_练习_文件IO.mp44 k4 _: |1 ^6 n
┃ ┃ ┃ ┃ ┣━13_多个异常捕获&异常的返回值.mp4
" H5 ^* E4 |# R! ]┃ ┃ ┃ ┃ ┣━15_练习-根据需要创建用户.mp43 u, Q3 g- {1 H$ \5 s
┃ ┃ ┃ ┃ ┣━19_文件的读取.mp4
$ m* A5 w( o, Z( A$ C┃ ┃ ┃ ┃ ┣━21_文件读写模式.mp4
! t9 ~& G% |" |3 @5 R5 O: Z┃ ┃ ┣━day06' [& o$ \4 ~: r \
┃ ┃ ┃ ┣━Video
) |: o5 o% U! t! G" N# R' z" T┃ ┃ ┃ ┃ ┣━00_知识回顾.mp42 y& e+ e& l0 J- O5 J
┃ ┃ ┃ ┃ ┣━08_冲突的产生及解决.mp49 l2 p c- `+ k7 }
┃ ┃ ┃ ┃ ┣━01_版本控制系统Git.mp4, q- X. q) S2 ~; r+ q
┃ ┃ ┃ ┃ ┣━03_配置忽略文件.mp4
& @1 x9 {# z% t3 ?┃ ┃ ┃ ┃ ┣━04_GUI工具操作.mp41 I* Z# {+ u% \1 J1 P4 a+ \% u
┃ ┃ ┃ ┃ ┣━05_将新建项目&已有项目添加版本管理.mp4$ M& o) u0 Q# x' [$ b+ _$ m
┃ ┃ ┃ ┃ ┣━07_分支reset操作.mp4
# K% H) s: r0 ]( f0 A$ F* n8 M) }5 t T┃ ┃ ┃ ┃ ┣━09_Git分支操作.mp49 F% V% O: ~$ N5 Z
┃ ┃ ┃ ┃ ┣━02_git常用命令.mp4
5 f s+ ?6 z/ e1 M/ g┃ ┃ ┃ ┃ ┣━06_使用VSCode编辑器提交代码.mp4" n+ l0 I" w7 r3 Q0 g W2 D9 G
┃ ┃ ┃ ┃ ┣━10_PyQt5概述.mp4
& | I: v' m. H% A0 I3 K1 D┃ ┃ ┣━day07# p( S; Q3 r' K. u
┃ ┃ ┃ ┣━Video) _9 ^9 N0 o& D& K
┃ ┃ ┃ ┃ ┣━00_知识回顾.mp4
8 T) k$ S+ i2 ~9 s. A┃ ┃ ┃ ┃ ┣━01_PyQt环境搭建_VSCode插件.mp44 M7 C b8 o3 Q2 T
┃ ┃ ┃ ┃ ┣━03_PyQt文本、图片及输入组件.mp4
4 w, {8 s0 v) b p4 K3 H2 }9 W- Q┃ ┃ ┃ ┃ ┣━04_PyQt按钮.mp4! z7 R+ Q8 ^% g/ K
┃ ┃ ┃ ┃ ┣━05_信号关联系统函数.mp43 Q1 L4 O/ F5 @: U( w" T
┃ ┃ ┃ ┃ ┣━07_PyQt对话框.mp4: z+ a/ H5 q" `5 ~5 o0 c' D4 s& o
┃ ┃ ┃ ┃ ┣━08_单选&多选输入.mp4
( f5 z( Y. t1 D& k7 B8 j9 z┃ ┃ ┃ ┃ ┣━09_面向对象开发QWidget.mp4
" m; \0 H0 z: B0 j( V% E3 V┃ ┃ ┃ ┃ ┣━11_QWidget&关联槽函数问题.mp43 w' E* z( ]+ _% ?0 Q% a
┃ ┃ ┃ ┃ ┣━02_PyQt创建窗口&并设置窗口信息.mp4
! P- F5 _6 n4 ?6 }┃ ┃ ┃ ┃ ┣━04_槽函数使用lambda表达式.mp4
/ m1 A% g2 a/ w5 {┃ ┃ ┃ ┃ ┣━06_PyQt布局layout.mp4
, Y6 k. n* |. ?# }* s┃ ┃ ┃ ┃ ┣━12_加载QMainWindow自定义ui文件.mp42 L& f! b* e; y, E# y: A3 M; T& a* o
┃ ┃ ┃ ┃ ┣━13_QtDesigner主要功能.mp4
! [ y$ ^, L9 Z% e┃ ┃ ┃ ┃ ┣━14_自定义主题qt-material.mp4
& G! ]( e% _: m' y1 n& r┃ ┃ ┃ ┃ ┣━10_加载QWidget自定义ui文件.mp48 o! q9 [& ]8 S: }* V( {
┃ ┃ ┣━day08
0 N2 r9 k, C& D: b' `/ i2 t3 X% A- Q' s┃ ┃ ┃ ┣━Video, |) U( e3 R7 [& `3 m6 A3 |( O
┃ ┃ ┃ ┃ ┣━02_端口和端口号.mp42 g5 @/ l, \9 D7 \
┃ ┃ ┃ ┃ ┣━07_TCP网络程序开发流程.mp4
: L8 f1 v) I0 M2 L0 r9 R9 h┃ ┃ ┃ ┃ ┣━09_TCP服务端_接受并回复消息.mp4
( I8 K& b7 t" Y! x4 z ^4 h9 g H┃ ┃ ┃ ┃ ┣━11_UDP介绍.mp4
7 N5 X- p/ f1 Z% |- c* {& F┃ ┃ ┃ ┃ ┣━14_UDP广播.mp4# V: t" e* m6 p* \8 _2 e
┃ ┃ ┃ ┃ ┣━16_多任务开发-线程.mp4
$ `$ |2 B Z$ L( i$ `8 y; z/ a┃ ┃ ┃ ┃ ┣━17_给线程添加参数.mp4
3 D7 u7 e. `; r┃ ┃ ┃ ┃ ┣━19_同步和异步.mp43 C8 v$ D, f( [
┃ ┃ ┃ ┃ ┣━20_练习:多任务版TCP服务器.mp4
2 }* T. a$ o& N8 D: |' C% G5 ^┃ ┃ ┃ ┃ ┣━00_知识回顾.mp4, J0 g6 T0 G* Y( \0 a
┃ ┃ ┃ ┃ ┣━01_IP地址.mp4
2 B. z# t6 q- C9 b3 `1 ]( C4 c, h" _┃ ┃ ┃ ┃ ┣━03_socket套接字.mp41 n) u; v" G5 g% b
┃ ┃ ┃ ┃ ┣━04_字符串数据编解码.mp4
2 u# y; Y6 N) ?0 G┃ ┃ ┃ ┃ ┣━05_TCP特点.mp4
- k4 @5 X' R3 C6 P; K┃ ┃ ┃ ┃ ┣━06_TCP拓展知识_三次握手&四次挥手.mp40 \! `- T7 r* {6 M/ K
┃ ┃ ┃ ┃ ┣━10_TCP服务端_循环接受客户端.mp4
) j6 N) ]3 {; l! Z) U6 l0 |6 D$ b┃ ┃ ┃ ┃ ┣━12_UDP发送端代码实现.mp4/ F4 t- z: ?9 O# i2 C! ~+ U" r& r
┃ ┃ ┃ ┃ ┣━13_UDP接收端代码实现.mp4
, g. U; U: c' n- S: s7 M; T┃ ┃ ┃ ┃ ┣━15_多任务介绍_并发&并行.mp4
" @9 O" u7 W! A; R/ x┃ ┃ ┃ ┃ ┣━18_守护线程.mp48 z3 ]' Z: i5 h* a
┃ ┃ ┃ ┃ ┣━21_Python的venv虚拟环境.mp4
( ]: ~$ }: \: K┃ ┃ ┃ ┃ ┣━08_TCP客户端发送并接收消息.mp4; T6 J- d5 h. P
┃ ┃ ┣━day09
- T8 ]# q6 q( e% W┃ ┃ ┃ ┣━Video: L% V& h/ l; k, F$ D. g$ S, s
┃ ┃ ┃ ┃ ┣━02_加载ui_res下的资源.mp47 d7 j/ F$ R% l8 _: ?: r# O# S- O
┃ ┃ ┃ ┃ ┣━04_网络工具_TCP客户端_连接服务器.mp4 j# u( v7 m' ]* J: Z* l: @
┃ ┃ ┃ ┃ ┣━07_网络工具_TCP客户端_发送数据.mp4
6 h7 @2 p; j, v┃ ┃ ┃ ┃ ┣━08_网络工具_TCP服务器_接收数据.mp4- Q! W# w* l6 i4 y3 X8 D
┃ ┃ ┃ ┃ ┣━12_串口工具_UI界面搭建.mp4* {9 n. m% F* Y w) q9 x$ [& h
┃ ┃ ┃ ┃ ┣━13_串口工具_扫描所有设备.mp4
% i6 O0 P2 P% W┃ ┃ ┃ ┃ ┣━00_知识回顾.mp4
$ A6 ? [; t1 p2 `0 @7 l┃ ┃ ┃ ┃ ┣━01_初始化PyQt5实用工具UI.mp4
# X4 ?4 q! h0 Z4 o4 G1 b4 T┃ ┃ ┃ ┃ ┣━03_网络工具_TCP客户端_初始化.mp4
' Y8 D% ]7 b3 B* i4 c1 u; ~┃ ┃ ┃ ┃ ┣━10_网络工具_TCP服务器_隐藏显示Widget.mp4
7 ^" j9 q9 h4 z( [5 e) I$ d7 Y┃ ┃ ┃ ┃ ┣━11_串口工具_pyserial的使用.mp4
0 x+ O" o8 U+ W) M- k┃ ┃ ┃ ┃ ┣━05_网络工具_TCP客户端_根据连接状态更新UI.mp4" I% ?. m4 k2 ~/ J" x/ h H2 J5 \
┃ ┃ ┃ ┃ ┣━06_网络工具_TCP客户端_循环接收展示数据.mp4/ ]7 }3 @' S/ u L c2 g3 f2 O: j
┃ ┃ ┃ ┃ ┣━09_网络工具_TCP服务器_接收多个客户端数据.mp49 @9 l$ l# d2 V! D: ?( o# G: O: j; p
┃ ┃ ┃ ┃ ┣━14_串口工具_设置对话框.mp4
* s. c3 m) {/ z┃ ┃ ┃ ┃ ┣━15_串口工具_通过子线程异步接收数据.mp4
1 h8 I1 w) n) W2 M! u$ v P6 I' W┃ ┃ ┃ ┃ ┣━16_串口工具_更新数据及状态到UI.mp4
$ b7 y1 f) P5 Y1 S8 y( Y┃ ┃ ┣━day102 @3 c B% v& q1 {9 \/ u
┃ ┃ ┃ ┣━Video
( F; j' L0 c9 h8 |+ E┃ ┃ ┃ ┃ ┣━00_知识回顾.mp4
( _0 i- `, u" _1 r┃ ┃ ┃ ┃ ┣━01_Python的蓝牙模块pybluez调试设计.mp4/ P5 V8 P6 h. D% Q7 T9 G( y
┃ ┃ ┃ ┃ ┣━02_蓝牙助手_初始化UI.mp4+ i/ t; i( E$ [
┃ ┃ ┃ ┃ ┣━05_蓝牙助手_发送数据.mp4
4 l7 e* t8 p# S( g2 k7 _1 z┃ ┃ ┃ ┃ ┣━06_聊天室_UI界面搭建.mp4# p+ O/ D o$ F; Q4 Q" w
┃ ┃ ┃ ┃ ┣━08_聊天室_将异步数据接受任务封装到Mananger.mp4" v' ~5 F8 h; Q" o2 E4 C5 x9 g
┃ ┃ ┃ ┃ ┣━13_彩色日志工具.mp4& ]( J6 ^) D/ a2 S3 X
┃ ┃ ┃ ┃ ┣━14_PyQt多线程&多任务管理.mp4
! x) H3 `7 D$ h0 I* I/ s" f# M5 M┃ ┃ ┃ ┃ ┣━04_蓝牙助手_连接设备并更新状态.mp4* o/ `% S2 o/ R4 l
┃ ┃ ┃ ┃ ┣━09_聊天室_自定义信号和槽.mp4
2 f7 b1 T7 X1 X" ^0 {. }┃ ┃ ┃ ┃ ┣━10_聊天室_解析并展示历史消息.mp45 I$ c' C- T/ A6 a5 R; E
┃ ┃ ┃ ┃ ┣━12_使用pyinstaller打包程序.mp4
R! g6 I+ I( Z; F" k- ^$ r┃ ┃ ┃ ┃ ┣━03_蓝牙助手_扫描所有蓝牙设备.mp4
W( e# o$ L& L+ d# x: ?# a& ^┃ ┃ ┃ ┃ ┣━07_聊天室_聊天室数据获取.mp4
% `8 c3 `% J( [! D& ~6 w┃ ┃ ┃ ┃ ┣━11_聊天室_发送消息.mp4
1 T' L5 X" q+ Z. i& H┃ ┣━05阶段:GD32开发4 N8 f5 S: Z/ `- R- {
┃ ┃ ┣━day01
/ c! O3 [) Y; M2 X7 h┃ ┃ ┃ ┣━video
4 ]* m! L& F' a* M! [- b┃ ┃ ┃ ┃ ┣━02_扩展板介绍.mp4
l0 |/ M3 V0 \7 _1 I7 }( x┃ ┃ ┃ ┃ ┣━03_51单片机和ARM说明.mp4+ W7 v5 P( Q3 Y& o K
┃ ┃ ┃ ┃ ┣━04_芯片内部外设概述.mp4
4 T" ]4 n8 P+ M. h" l$ ^┃ ┃ ┃ ┃ ┣━07_梁山派说明.mp4
8 g8 h9 y, V% V6 x& j/ Z0 H┃ ┃ ┃ ┃ ┣━10_ARMPACK安装.mp4
. D& k. Q2 k0 u) f- L┃ ┃ ┃ ┃ ┣━11_ARMCC V5安装和配置.mp4/ w/ i1 Z2 r- R- ~) j
┃ ┃ ┃ ┃ ┣━13_SPL库和HAL库.mp4
, C* h$ }' Z; }# J┃ ┃ ┃ ┃ ┣━16_GD32_模板创建.mp4
: | _! `: U2 ~! L: Q K t# U+ ~8 x┃ ┃ ┃ ┃ ┣━17_测试GD32模板.mp4: V( a% j4 ?" b" f* c$ p
┃ ┃ ┃ ┃ ┣━19_system_tick介绍.mp4% E' ^9 L# U& T/ }, W h' F Z8 L
┃ ┃ ┃ ┃ ┣━20_STM32点灯测试.mp4
; v( R9 R$ U4 ^) _8 r8 z. m6 \┃ ┃ ┃ ┃ ┣━21_STM32 V6问题.mp4
/ H- e0 l/ Y' W, p) k┃ ┃ ┃ ┃ ┣━5_ARM介绍.mp4
- k4 Q) e1 H F5 L7 i8 @3 d$ i& o┃ ┃ ┃ ┃ ┣━01_开发板介绍.mp4) [; o; y' g9 F! b! m4 Q
┃ ┃ ┃ ┃ ┣━06_ARM32芯片介绍.mp47 G5 K6 X2 o$ r# n: u( n, S
┃ ┃ ┃ ┃ ┣━09_Keil安装2.mp4
, E$ m# y3 i! Q7 X; M: g q5 O┃ ┃ ┃ ┃ ┣━12_GPIO点灯实现.mp48 f [5 d$ ?& i$ \9 T
┃ ┃ ┃ ┃ ┣━14_GD32标准库资料下载.mp4
y" `; }4 z( X/ H" n- Q┃ ┃ ┃ ┃ ┣━15_GD32_外设库文件系统介绍.mp4/ c; M2 {( d3 q3 F+ m; U+ j
┃ ┃ ┃ ┃ ┣━08_Keil安装说明.mp4. j+ V, B( U9 x' L( [# J1 W
┃ ┃ ┃ ┃ ┣━18_stm32_SPL库移植V5.mp45 P- M/ j$ C2 A" W# Q
┃ ┃ ┣━day02
0 F% U) p4 _# V. n, a- d, J┃ ┃ ┃ ┣━video
/ U$ t- `. T4 ~' L┃ ┃ ┃ ┃ ┣━02_梁山派原理图初步说明.mp4
% e: W$ E% I4 N! L. k3 h: K& i/ @┃ ┃ ┃ ┃ ┣━03_转接板引脚说明.mp4" d3 e- ?% p6 x6 |) Q* n) T, l
┃ ┃ ┃ ┃ ┣━05_GPIO引脚基本电路说明.mp4: [, y0 m4 m( V
┃ ┃ ┃ ┃ ┣━06_GPIO引脚内部寄存器控制电路详解.mp4
5 t2 M/ ~/ P" a/ K! S┃ ┃ ┃ ┃ ┣━09_GPIO的输入模式.mp4' U- ]$ B6 G6 x! }1 ~
┃ ┃ ┃ ┃ ┣━10_代码中的输入输出情况分析.mp44 { _7 A+ A2 s8 r" ]& T
┃ ┃ ┃ ┃ ┣━14_总线介绍.mp4! u2 K+ D* L7 r) m- v3 G( t
┃ ┃ ┃ ┃ ┣━15_时钟树介绍.mp4. V) o( K3 I8 G, w" `$ e
┃ ┃ ┃ ┃ ┣━16_电量显示需求说明.mp4& D& q; ^. a: F# c3 m6 J' k
┃ ┃ ┃ ┃ ┣━17_模拟开始充电和结束充电.mp4& J5 V# S( _! f8 a7 y1 e2 i
┃ ┃ ┃ ┃ ┣━19_BSP驱动初始化.mp4
, _5 a2 B+ u6 `3 p& A- O$ a┃ ┃ ┃ ┃ ┣━01_转接板介绍.mp46 t$ D' z* H% B
┃ ┃ ┃ ┃ ┣━04_MOS管基础.mp4
" m9 B0 g+ J" F1 T* G% Q$ \┃ ┃ ┃ ┃ ┣━07_GPIO的推挽和开漏.mp4
5 d6 H a: N; p( I6 B┃ ┃ ┃ ┃ ┣━11_ARM的输入输出电路小结.mp4
! n; D* }, V' R3 J, B a5 z┃ ┃ ┃ ┃ ┣━12_GPIO输出和输入案例.mp4
3 z t9 F+ ^6 I6 z" w' E! s┃ ┃ ┃ ┃ ┣━13_GPIO输入按键配置.mp4" F5 H, |5 m# U. n: a0 h7 D
┃ ┃ ┃ ┃ ┣━18_模拟电量增加.mp4
8 x* y! o! t, h% v- ?┃ ┃ ┃ ┃ ┣━20_BSP驱动开始和结束的业务.mp4
, p x% `; r: C% D- B+ ^┃ ┃ ┃ ┃ ┣━21_BSP流水灯初步实现.mp40 A$ | S& H6 d c
┃ ┃ ┃ ┃ ┣━22_BSP流水灯逻辑实现.mp4
4 a% s9 o8 v4 B4 G% I' I; J┃ ┃ ┃ ┃ ┣━08_GPIO的推挽和开漏的线与操作.mp4! d4 h2 g8 Y# d/ [
┃ ┃ ┣━day03% c$ h1 Q7 K+ K$ \
┃ ┃ ┃ ┣━video x& _' f2 L" C; V
┃ ┃ ┃ ┃ ┣━01_STM32_GPIO输入操作.mp4
% f- ^1 u5 U) L% K6 t┃ ┃ ┃ ┃ ┣━07_串口发送流程.mp4
" s; l8 a w+ x E┃ ┃ ┃ ┃ ┣━08_串口发送字符串和printf.mp4
( x" k; q4 Q& d: j┃ ┃ ┃ ┃ ┣━10_串口接收的配置.mp4
+ }9 e" w( z% j* p& R, w┃ ┃ ┃ ┃ ┣━14_GD32串口驱动封装.mp4
- r3 U2 T+ ^8 ?( R; N' }9 c( V┃ ┃ ┃ ┃ ┣━16_STM32串口封装_串口部分.mp4
7 P( c3 ?9 l+ H┃ ┃ ┃ ┃ ┣━02_STM32_流水灯实现.mp4; M4 z) d W- n4 H5 }) w
┃ ┃ ┃ ┃ ┣━03_串口基础理论.mp4
, e! N9 _5 v K; @9 @' S┃ ┃ ┃ ┃ ┣━04_串口初始化API详解1.mp4& Y# z3 h& O/ S S7 Q- p9 A$ v
┃ ┃ ┃ ┃ ┣━06_串口发送调试.mp41 {6 ^+ n) [% m; D" K8 [# r/ D
┃ ┃ ┃ ┃ ┣━11_串口接收中断状态变化说明.mp4# _3 O, Z: n3 k# u6 G* o# n5 \: A
┃ ┃ ┃ ┃ ┣━13_串口接收逻辑实现.mp42 J- l( S6 E3 ^7 Q: @
┃ ┃ ┃ ┃ ┣━15_STM32串口封装_GPIO部分.mp4' C7 X* l' n# h7 w- W
┃ ┃ ┃ ┃ ┣━18_文档来源.mp4; i3 f' P( e: W3 ^7 r
┃ ┃ ┃ ┃ ┣━05_串口复用功能发送实现.mp4
" P) s7 ^# e: V, _┃ ┃ ┃ ┃ ┣━09_串口发送配置需要关注的点.mp4- `, O/ @% u4 \5 Q. q. d$ t" k; ?
┃ ┃ ┃ ┃ ┣━12_串口接收中断过程说明.mp4$ r! L( {# F* Q3 q. e$ z$ ]
┃ ┃ ┃ ┃ ┣━17_STM32串口封装实现.mp4
7 q2 j5 W* Y3 }( d2 S┃ ┃ ┣━day04 d0 m# Z" r4 b7 E
┃ ┃ ┃ ┣━video2 x. e5 T2 }& \) b
┃ ┃ ┃ ┃ ┣━05_按键外部中断实现.mp45 j; G7 o5 j: n2 E. y6 g3 O
┃ ┃ ┃ ┃ ┣━07_扩展板外部中断按键实现.mp4
3 U J9 m1 n. {( a6 `, e┃ ┃ ┃ ┃ ┣━10_外部中断软件触发.mp4; V! O3 q; S/ Q3 z: B) |
┃ ┃ ┃ ┃ ┣━11_中断优先级介绍.mp4
7 P; E. o# f! ?9 Y┃ ┃ ┃ ┃ ┣━12_中断优先级配置_全局和局部.mp49 w% z2 I) v% m6 E% A
┃ ┃ ┃ ┃ ┣━14_中断优先级小实验.mp4
4 s) A( e3 o @' a0 I* K┃ ┃ ┃ ┃ ┣━15_外部中断简单封装.mp4
" N) ~0 j6 U6 h) M0 X┃ ┃ ┃ ┃ ┣━01_中断机制.mp4
8 X$ O& v: R' S0 p8 Q$ ?" t0 N┃ ┃ ┃ ┃ ┣━02_外部中断相关概念.mp4
6 ^" _# o7 R: ~% C┃ ┃ ┃ ┃ ┣━03_外部中断初始化.mp4
/ q$ \0 V( y* P+ N/ w% s┃ ┃ ┃ ┃ ┣━08_外部中断关注点.mp4
2 \& }/ }1 y. O/ W! p! i; w┃ ┃ ┃ ┃ ┣━09_外部中断的特殊案例.mp4
$ X. h1 w* G5 a8 E┃ ┃ ┃ ┃ ┣━16_外部中断封装2.mp4
; ^: c$ l9 l+ k┃ ┃ ┃ ┃ ┣━17_外部中断封装2.mp4
, w7 k3 B5 i- S h┃ ┃ ┃ ┃ ┣━04_外部中断函数实现.mp4
- A' g: Y i1 j) J┃ ┃ ┃ ┃ ┣━06_systick实现tick计时.mp4
: U& O! v8 s: i* d3 }┃ ┃ ┃ ┃ ┣━13_中断优先级环境准备.mp47 g; f D3 B9 E O5 [9 u
┃ ┃ ┃ ┃ ┣━18_STM32外部中断实现.mp4
) k+ ]" `. |' T: w- w8 B# A- c┃ ┃ ┣━day05
3 s( u! u7 ]5 ]) S- a% Z! A9 u┃ ┃ ┃ ┣━video+ Q8 H) A. f( i
┃ ┃ ┃ ┃ ┣━01_定时器初步认知.mp4
* P- k! V( @ ]! \4 z┃ ┃ ┃ ┃ ┣━05_通用定时器配置实现.mp4, O B2 a0 l" O4 I& u/ {+ d
┃ ┃ ┃ ┃ ┣━07_定时器多通道的配置.mp4
9 N& S; W% n0 E/ {9 _; c5 n┃ ┃ ┃ ┃ ┣━10_定时器封装配置.mp4
% E1 _0 P. L7 a6 o- f┃ ┃ ┃ ┃ ┣━02_基本定时器初始化配置.mp4* s) I, d% U. `, n I+ ^6 o) H
┃ ┃ ┃ ┃ ┣━03_基本定时器周期和频率配置.mp4
q5 e4 r" q4 E4 E┃ ┃ ┃ ┃ ┣━04_基本定时器分频计数.mp4
6 h# L# M* i& \% V┃ ┃ ┃ ┃ ┣━06_定时器配置关系的内容.mp4, u7 D5 n5 S2 f' Q
┃ ┃ ┃ ┃ ┣━08_蜂鸣器实现.mp4; I' |3 K3 A' K+ E6 `
┃ ┃ ┃ ┃ ┣━09_定时器前期封装准备.mp4
0 G4 B3 d5 |+ A7 t6 _& c, c* \┃ ┃ ┃ ┃ ┣━11_定时器封装完成.mp4
# u* ?6 l' e% Q# ?8 s4 y1 d┃ ┃ ┣━day06
4 O# c' Z4 y Q/ h* o┃ ┃ ┃ ┣━video: J' Y: o$ v8 ?
┃ ┃ ┃ ┃ ┣━04_高级定时器特性.mp4 v, B# u" h( t3 {
┃ ┃ ┃ ┃ ┣━08_DMA通讯过程.mp4
1 {. w7 C. }3 N* G! L9 w┃ ┃ ┃ ┃ ┣━09_DMA的一些关键文档信息.mp4 e6 p9 N$ Q _7 l
┃ ┃ ┃ ┃ ┣━01_高级定时器配置.mp4+ |, }# R& L% D; ~: Z* Z* b
┃ ┃ ┃ ┃ ┣━03_高级定时器封装配置.mp4/ V/ R" U6 w' D
┃ ┃ ┃ ┃ ┣━05_STM32_timerGPIO配置.mp4
3 m7 ]0 a+ s5 s' T$ V┃ ┃ ┃ ┃ ┣━06_STM32_timer_channel和brk配置.mp4
8 C4 e7 W( W% q5 F. k& w┃ ┃ ┃ ┃ ┣━07_CPU内存外设数据间通讯过程.mp4+ c/ R6 Q# O2 ?8 p+ w' V4 g
┃ ┃ ┃ ┃ ┣━11_DMA实现内存到内存的功能.mp41 m7 k8 _8 x; y/ k
┃ ┃ ┃ ┃ ┣━12_DMA内存到内存关心的配置.mp4# x" l- C: H. a
┃ ┃ ┃ ┃ ┣━13_DMA内存到内存中断完成.mp4
5 [, h8 A5 a5 @- Y3 F# e┃ ┃ ┃ ┃ ┣━02_高级定时器极性和break电路配置.mp4
& O8 ~2 y+ P% B5 w1 }; ^┃ ┃ ┃ ┃ ┣━10_DMA的初始化常规配置.mp4
* v/ e4 h6 [6 K m┃ ┃ ┃ ┃ ┣━14_DMA动态配置内存到内存的实现.mp48 C! a v/ ]$ o3 B
┃ ┃ ┣━day072 C1 q- x# M8 V! g. H
┃ ┃ ┃ ┣━video
5 V( U1 M: R" V" V9 G, x8 Y┃ ┃ ┃ ┃ ┣━01_dma发送流程.mp4
) a8 H; o* D; ?, S┃ ┃ ┃ ┃ ┣━04_DMA数据发送调试.mp4
1 s2 {) t4 W8 A& w3 r9 Y( S┃ ┃ ┃ ┃ ┣━05_DMA数据发送优化.mp4
" H0 l }( T: P┃ ┃ ┃ ┃ ┣━06_DMA串口接收配置.mp4# }! M: }7 Z: n- L8 K
┃ ┃ ┃ ┃ ┣━09_DMA接收中断逻辑实现.mp49 X) H! R+ R$ A8 q5 { \
┃ ┃ ┃ ┃ ┣━12_STM32 DMA发送调试.mp4
- N& {& t. Y2 @- \- Q% h┃ ┃ ┃ ┃ ┣━14_GD32 串口驱动封装初始配置.mp4
7 R$ @2 m! s; P3 l1 ^9 L- I┃ ┃ ┃ ┃ ┣━16_GD32 RTC时钟介绍.mp4' a: K; ]. j/ v' K
┃ ┃ ┃ ┃ ┣━02_DMA数据发送地址配置.mp4
7 U1 r% u6 ?4 v, _/ ?┃ ┃ ┃ ┃ ┣━03_DMA数据发送细节配置.mp4! Z1 x: Y0 G' K
┃ ┃ ┃ ┃ ┣━07_DMA串口接收流程分析.mp4: x) U3 w7 f: D+ Q
┃ ┃ ┃ ┃ ┣━08_DMA接收数据计数流程.mp4
# J( O' U6 @ x. w: l/ T┃ ┃ ┃ ┃ ┣━13_STM32 DMA接收实现.mp43 _4 Y3 H3 P; j. Y, d
┃ ┃ ┃ ┃ ┣━10_STM32 DMA内存到内存.mp4
: { e6 S( I% v┃ ┃ ┃ ┃ ┣━11_STM32 DMA发送配置.mp4
+ i4 ]( Z/ u+ X$ ?4 r0 c* y┃ ┃ ┃ ┃ ┣━15_GD32 串口驱动内部配置定义.mp4
2 k. g0 w* g, W/ J ]┃ ┃ ┃ ┃ ┣━17_GD32 RTC时钟日期配置和读取.mp45 y/ E* C& g. a
┃ ┃ ┣━day08
# |/ L+ \# J& V2 i- [1 S* B5 d/ E┃ ┃ ┃ ┣━video6 K+ d* J5 W, m1 M
┃ ┃ ┃ ┃ ┣━01_RTC时钟闹钟参数配置.mp4
% R: i2 p# e! M: K6 q# u- O┃ ┃ ┃ ┃ ┣━02_RTC时钟闹钟中断配置.mp4
; P0 I, ?6 O1 q$ U9 M; h┃ ┃ ┃ ┃ ┣━03_RTC闹钟代码来源说明.mp4
# B* F1 | c) A/ N* F6 \9 k) \┃ ┃ ┃ ┃ ┣━04_看门狗的基本概念.mp4
0 l% f, C9 D) j' ~! t& R* z1 ]; y┃ ┃ ┃ ┃ ┣━06_窗口看门狗实现.mp4
; d/ ^) y# p- c: y, n┃ ┃ ┃ ┃ ┣━09_I2C写数据的流程.mp4. o( y& n! l* C' v7 I/ A4 n
┃ ┃ ┃ ┃ ┣━11_I2C操作的基本环境准备.mp4
* h; y: z& L+ z% e" N┃ ┃ ┃ ┃ ┣━13_I2C的START和STOP信号实现.mp48 x7 ]( q' c* y' k
┃ ┃ ┃ ┃ ┣━14_I2C的SEND数据信号.mp42 Y" V* c' t6 e7 W6 G% U& g
┃ ┃ ┃ ┃ ┣━17_I2C的写数据实现.mp4
7 A, n9 ]3 l( f; }┃ ┃ ┃ ┃ ┣━05_独立看门狗实现.mp4
' n8 |% k, ^: P0 N4 M5 S6 N6 R9 ^! B% A; Q┃ ┃ ┃ ┃ ┣━07_窗口看门狗问题.mp49 ^6 J) ~* d* K9 @( j* V2 U# h$ b3 b
┃ ┃ ┃ ┃ ┣━08_I2C一些常规理论.mp4
2 j ?" I2 j1 J1 O# q┃ ┃ ┃ ┃ ┣━12_I2C基本信号函数定义.mp4$ z$ L' y4 r$ [' G
┃ ┃ ┃ ┃ ┣━10_I2C写的开始结束和数据发送信号.mp41 @% Q, M H" ^2 h4 S
┃ ┃ ┃ ┃ ┣━15_I2C的Wait ACK介绍.mp4% ]! d" N) |. u. ?) C8 v. k/ q+ G+ l
┃ ┃ ┃ ┃ ┣━16_I2C的Wait ACK实现.mp4
# W7 n+ A) q5 ], \; r┃ ┃ ┣━day09& \% n/ A" i1 X1 {
┃ ┃ ┃ ┣━video4 N- b, I w3 \3 X% o+ P+ i) O8 i
┃ ┃ ┃ ┃ ┣━01_I2C通讯回顾.mp4/ e# S5 Y& ^* j
┃ ┃ ┃ ┃ ┣━02_I2C读取流程.mp4
; w2 Z; W# y* @3 K7 b3 m7 ]┃ ┃ ┃ ┃ ┣━03_I2C读取流程代码表达.mp4 o, k s7 e) ^: S# D2 e h
┃ ┃ ┃ ┃ ┣━04_I2C读数据信号的实现.mp4
/ s- l& T) u* n0 [. M┃ ┃ ┃ ┃ ┣━05_I2C读取数据的实现.mp4$ H$ s6 ?0 R3 w) S
┃ ┃ ┃ ┃ ┣━06_I2C错误状态定义.mp4, N: \9 `' F R4 K2 A6 r7 [# I1 Y
┃ ┃ ┃ ┃ ┣━08_I2C硬件电路写数据实现.mp4+ V% c, n9 w5 n
┃ ┃ ┃ ┃ ┣━07_I2C硬件电路的初始化配置.mp4, L% Y& Y `+ U) C8 s6 e1 z
┃ ┃ ┃ ┃ ┣━09_I2C硬件电路读数据实现.mp4
! g8 c( |' ]: ?: S6 @+ R┃ ┃ ┣━day10
+ e! |* o% I8 a9 c S" r┃ ┃ ┃ ┣━video7 l" T0 }) i. J2 _2 a6 R% r( F
┃ ┃ ┃ ┃ ┣━02_I2C屏幕官方环境移植.mp4
: b% u+ _- G; T2 s- n7 y4 e ]┃ ┃ ┃ ┃ ┣━04_I2C屏幕协议逻辑调试.mp4
3 j- d5 t6 ~ @, _8 u8 A% D┃ ┃ ┃ ┃ ┣━06_GD32的OLED屏幕驱动移植.mp41 }) ?# F) K6 A# ~& U7 b
┃ ┃ ┃ ┃ ┣━12_GD32核心板MCU选型.mp4: f1 H% B* S( Z6 c2 r
┃ ┃ ┃ ┃ ┣━17_核心板设计烧录按钮.mp4# [9 y5 }6 v: O @$ L4 L% L
┃ ┃ ┃ ┃ ┣━18_核心板设计DAP Link.mp44 N; I% ?- ]) Y8 y9 |. F
┃ ┃ ┃ ┃ ┣━01_数码管驱动移植.mp4
/ s2 D- W/ h. ?7 U┃ ┃ ┃ ┃ ┣━03_I2C屏幕移植的问题.mp4# X) N' ^9 ]+ i6 @# i' y! h
┃ ┃ ┃ ┃ ┣━07_GD32的i2c移植过程中发送数据格式问题.mp47 E/ e4 _* p( h; O5 t
┃ ┃ ┃ ┃ ┣━08_二维数组内存分布问题.mp4
' L6 J( ]7 c+ a: K. V┃ ┃ ┃ ┃ ┣━09_GD32的I2C的二维数据数据发送实现.mp42 O, X" @% P0 H* h6 x
┃ ┃ ┃ ┃ ┣━11_I2C驱动封装实现.mp4
* \0 C( b8 L6 h┃ ┃ ┃ ┃ ┣━14_核心板设计RTC时钟选型.mp4
% J5 M3 _, e. k8 _6 c┃ ┃ ┃ ┃ ┣━15_核心板设计重置按钮.mp47 @& G0 v8 ~ x7 y! e
┃ ┃ ┃ ┃ ┣━16_核心板设计电源部分设计.mp4! ?" P8 } G* g
┃ ┃ ┃ ┃ ┣━19_核心板设计电源选型.mp4
, ^9 i/ z' ]& E- A6 t0 G┃ ┃ ┃ ┃ ┣━20_核心板设计LDO.mp4
; f6 i$ ~* M" @4 _# l" D6 ~┃ ┃ ┃ ┃ ┣━21_核心板设计DCDC.mp48 b) c6 D; A7 V
┃ ┃ ┃ ┃ ┣━22_核心板比较.mp4
! O7 l- H3 u8 K3 H: B" p; G) b┃ ┃ ┃ ┃ ┣━05_开发调试注意事项.mp4
0 p4 d/ u# @5 G* t0 Z& ~4 X% @┃ ┃ ┃ ┃ ┣━10_GD32的I2C硬件实现.mp45 J! c5 e5 |* E- a
┃ ┃ ┃ ┃ ┣━13_核心板设计非常规引脚说明.mp4
& G$ [; v2 g ^6 v! P5 H6 B: Q0 A┃ ┃ ┣━day11
% t9 \; k, D/ m+ m┃ ┃ ┃ ┣━video
6 F6 R) S- x$ [1 i; e, U/ l) l┃ ┃ ┃ ┃ ┣━03_线规格选型说明.mp4
8 d: Q, J5 \# P) W% s) o, j; z┃ ┃ ┃ ┃ ┣━06_梁山派母座封装创建.mp4
8 |5 q; M+ B& x1 O2 v┃ ┃ ┃ ┃ ┣━07_梁山派母座封装实现.mp4
' Y7 t% j: o3 l# u7 |; c6 A┃ ┃ ┃ ┃ ┣━08_电机驱动芯片选型.mp4
: p( W$ \; {" L: |: G┃ ┃ ┃ ┃ ┣━10_电机驱动芯片引脚介绍.mp4% c- M9 F. ~& P3 d% x5 H; |
┃ ┃ ┃ ┃ ┣━12_MPU6050绘制.mp4: \8 P! N6 A/ F6 V) q
┃ ┃ ┃ ┃ ┣━13_其他电路介绍.mp4
7 `3 X! r% \! s* s┃ ┃ ┃ ┃ ┣━01_平衡车功能分析.mp4
0 g* c$ U/ P( ^4 L2 B ]┃ ┃ ┃ ┃ ┣━02_电机介绍.mp4
) a4 k# C. A& {& z0 Q Z' s┃ ┃ ┃ ┃ ┣━04_姿态传感器介绍.mp4
) d, ~) u* h# V┃ ┃ ┃ ┃ ┣━05_梁山派母座元件创建.mp46 m: t1 \1 h+ {7 E: `+ V
┃ ┃ ┃ ┃ ┣━11_电机接口配置.mp4
- z/ p! `3 ]1 Y+ c/ a┃ ┃ ┃ ┃ ┣━09_电机驱动原理图绘制.mp4
- z: b4 [# \% A% q┃ ┃ ┃ ┃ ┣━14_电池供电版本实现.mp44 x: @1 ]! a) k
┃ ┃ ┃ ┃ ┣━15_引脚功能分析.mp4
/ R) B2 x% S6 C0 @5 p, @# B. K7 D9 [┃ ┃ ┣━day12& ^; M/ t" K& T3 V7 Y
┃ ┃ ┃ ┣━video2 Y5 A; s7 F8 d2 A5 E( X! V
┃ ┃ ┃ ┃ ┣━02_电机模块摆放.mp4
# {' |" h U- h4 g┃ ┃ ┃ ┃ ┣━04_mpu6050布线说明.mp4
4 @( P$ o+ X& G/ H┃ ┃ ┃ ┃ ┣━06_其他模块布线说明.mp4$ Z+ \! x. _1 ?$ z6 H# @# T
┃ ┃ ┃ ┃ ┣━07_i2c屏幕引脚选型说明.mp4
/ R; ]' d$ h! ?7 _) U( [* Z┃ ┃ ┃ ┃ ┣━08_布线注意的内容.mp4
# E. o. U0 M& l% h┃ ┃ ┃ ┃ ┣━01_布局摆放.mp4
; v) b3 e X3 g) P% I/ G1 F3 X┃ ┃ ┃ ┃ ┣━03_电机模块引脚选型和电源走线.mp4
: g% z( s s# h8 d8 K. \$ a' E3 d┃ ┃ ┃ ┃ ┣━05_蜂鸣器电路布线.mp4
+ L8 m9 J0 E" X$ d$ l: P ^3 G┃ ┃ ┣━day13. v1 b0 ?7 \' J; J/ _$ S5 ^
┃ ┃ ┃ ┣━video) E- q x2 h# F, t& x! d
┃ ┃ ┃ ┃ ┣━03_ADC初始化配置介绍.mp4# k1 D' o% s# O0 z! _+ v) C
┃ ┃ ┃ ┃ ┣━05_ADC配置参数说明.mp4! G1 q- N# v( k2 F5 r1 n8 s
┃ ┃ ┃ ┃ ┣━06_ADC温度采样结果.mp4, x! I" [, Q1 x9 t
┃ ┃ ┃ ┃ ┣━07_ADC主频和采样时间的关系.mp4
0 a: h. |1 B5 k) ]0 _┃ ┃ ┃ ┃ ┣━09_ADC解决多路数据采样问题.mp4
& @' `: F( _' U* t" ?- n┃ ┃ ┃ ┃ ┣━12_ADC的插入通道的实现.mp4, q0 e7 s: k; `/ }2 y( v' `
┃ ┃ ┃ ┃ ┣━02_ADC原理介绍02.mp4
' a4 D& }4 x9 e0 t* s8 {┃ ┃ ┃ ┃ ┣━08_ADC采样多路的配置和问题.mp4
5 P8 @1 @% Y7 ]3 x┃ ┃ ┃ ┃ ┣━10_ADC的DMA分析和配置.mp4& X' U* ^# q2 {( j4 Z+ p( u9 i
┃ ┃ ┃ ┃ ┣━11_ADC的DMA采样实现.mp4
& c( D& N& [8 i/ @┃ ┃ ┃ ┃ ┣━13_SPI基础概念介绍.mp48 W% M& R7 F$ Q( P
┃ ┃ ┃ ┃ ┣━14_SPI的时钟极性和相位极性.mp4
7 c: R: ]* N; I& @( w1 H┃ ┃ ┃ ┃ ┣━15_SPI的传输和采样的几种模式.mp4
P' {! @. G Y$ F! r┃ ┃ ┃ ┃ ┣━16_SPI屏幕移植.mp4% V7 l0 E/ n8 A" \! f
┃ ┃ ┃ ┃ ┣━01_ADC原理介绍01.mp4
% h4 e9 I3 ?# J8 a \8 H6 S; u┃ ┃ ┃ ┃ ┣━04_ADC初始化常用配置说明.mp4
' P7 j$ a5 x1 V2 q9 w┃ ┃ ┣━day14
; T5 a) N9 T( {: p) c7 N% g' W┃ ┃ ┃ ┣━video
, k7 s7 F* X* C" S! Z# c/ | Z. w┃ ┃ ┃ ┃ ┣━03_SPI协议bug处理.mp4
$ z$ V" M. Q/ n. k3 P( _┃ ┃ ┃ ┃ ┣━04_SPI协议片选切换修复读时时钟问题.mp4' H& v! Q1 i4 A! g5 d
┃ ┃ ┃ ┃ ┣━05_SPI协议的抽象封装.mp4
) U! [) O+ F- y1 r5 _9 B3 a┃ ┃ ┃ ┃ ┣━07_SPI软实现应用到OLED中.mp4) O; p: A8 G* S8 @
┃ ┃ ┃ ┃ ┣━10_SPI硬实现初始化.mp4
- T0 h6 u3 v- ~0 i' L; c% S3 n┃ ┃ ┃ ┃ ┣━11_SPI读写的实现和分频处理.mp44 R! l8 V) O1 ?/ s- u) G
┃ ┃ ┃ ┃ ┣━12_SPI读写Bug的处理.mp4: D' a# N. t7 _4 L" x6 }2 s: _4 U
┃ ┃ ┃ ┃ ┣━15_SPI flash源码迁移.mp4
" J/ ?; P$ h( h' q9 a; P6 s┃ ┃ ┃ ┃ ┣━16_SPI4接口抽取.mp4
$ ?& G* v# _: H┃ ┃ ┃ ┃ ┣━17_SPI Flash驱动改造.mp4' i# g2 v c. J5 b" u& Q) `+ n) Q
┃ ┃ ┃ ┃ ┣━19_SPI的 读写软实现.mp4
( J# Y1 x( w3 f+ O! N┃ ┃ ┃ ┃ ┣━02_SPI的片选和时钟分析.mp4- c: O K/ q& J* Y
┃ ┃ ┃ ┃ ┣━14_SPI flash示例源码获取.mp4( t; g; A b8 t* _- R/ B; o* p9 q# }) c
┃ ┃ ┃ ┃ ┣━18_SPI Flash 的API的使用.mp4) H" j) k- W) s& T" a
┃ ┃ ┃ ┃ ┣━20_立创开源项目介绍.mp48 r3 g, |# C/ p0 U6 A
┃ ┃ ┃ ┃ ┣━01_SPI调试环境的搭建.mp4
6 l* k4 w, |! I8 U% o┃ ┃ ┃ ┃ ┣━06_SPI协议读和写的实现.mp4- i' G& g+ S- u3 @# U2 d
┃ ┃ ┃ ┃ ┣━08_SPI软实现移植到GD32平台.mp4 X+ {6 U; ~" a7 W; d9 V) X
┃ ┃ ┃ ┃ ┣━09_SPI config配置实现.mp4
V: |! M7 {( ?6 f& K/ n8 P) ~┃ ┃ ┃ ┃ ┣━13_spi封装完成.mp4$ p U5 e! O7 D& [0 p! V! r8 N" @4 b q% m
┃ ┃ ┃ ┃ ┣━21_stm32 cubemx 的Repostory配置.mp4
* }; e: C, P9 \1 j! |! l j┃ ┃ ┣━day15
7 [2 Y! `+ i- |; }- v┃ ┃ ┃ ┣━video! i7 y& u# S, Z# T5 u
┃ ┃ ┃ ┃ ┣━01_PMU电池管理单元介绍.mp4
: b% ?, I$ }5 Q8 w' R┃ ┃ ┃ ┃ ┣━02_PMU的三种省电模式.mp4
' q. L" Y. n- t+ z9 c┃ ┃ ┃ ┃ ┣━04_PMU睡眠模式和深度睡眠模式演示.mp4" X. L- G' G! E$ @. L
┃ ┃ ┃ ┃ ┣━05_待机模式说明.mp4
; P& z/ Y8 ]1 J% N6 c# h8 c# X┃ ┃ ┃ ┃ ┣━06_HAL库点灯实现.mp49 d) _# n: B6 J) {& Z/ d/ N4 X# E
┃ ┃ ┃ ┃ ┣━08_HAL库时钟配置.mp4
% c- D: e+ W% c% ^4 m1 `2 J┃ ┃ ┃ ┃ ┣━10_HAL库中断和dma发送.mp4; v$ ]$ a1 ]( C, A
┃ ┃ ┃ ┃ ┣━13_HAL库ADC的实现.mp4& {2 R4 ^1 d7 o5 M" h4 U9 |
┃ ┃ ┃ ┃ ┣━15_HAL库I2c写操作实现.mp4+ D8 e# F! {, b- P8 @: |
┃ ┃ ┃ ┃ ┣━16_HAL库I2C读操作实现.mp41 A+ b0 P6 e0 U$ Q; j* L i
┃ ┃ ┃ ┃ ┣━17_HAL库SPI配置实现.mp4
% q8 T/ I/ b w┃ ┃ ┃ ┃ ┣━03_PMU模式初始化.mp49 |3 c3 x1 H- U$ T
┃ ┃ ┃ ┃ ┣━07_HAL库开发过程的强调.mp49 O" q2 [# t, a4 l7 L
┃ ┃ ┃ ┃ ┣━09_HAL库串口发送实现.mp4
6 J5 Z! [$ Z* T) f4 a┃ ┃ ┃ ┃ ┣━11_HAL库串口接收实现.mp40 }; z( i, k/ D$ D) q
┃ ┃ ┃ ┃ ┣━12_HAL库的ADC配置.mp4
" ]" ^5 P" U( o) |. M/ P┃ ┃ ┃ ┃ ┣━18_HAL库SPI读写实现.mp42 b/ w7 n I4 Q3 ?) b4 r1 h
┃ ┃ ┃ ┃ ┣━14_HAL库I2C配置.mp47 q% Z& }* \8 q$ h3 f
┃ ┃ ┣━day16
7 s. J0 v; t1 \; n1 \7 l┃ ┃ ┃ ┣━video" Q) A. ?: i& u0 r8 a! A
┃ ┃ ┃ ┃ ┣━01_HAL库TIM的环境搭建.mp4
/ z5 \1 K2 o, U& Q C4 Q5 X┃ ┃ ┃ ┃ ┣━02_HAL库的TIM配置倍频.mp4
! L, G$ e# J. h2 t┃ ┃ ┃ ┃ ┣━03_FreeRTOS介绍.mp4
: H% F' E* l6 Q┃ ┃ ┃ ┃ ┣━04_FreeRTOS的源文件导入.mp4
]. e- ]$ u3 V┃ ┃ ┃ ┃ ┣━05_FreeRTOS移植中断接管问题.mp47 h0 @8 W& R3 _7 u0 J
┃ ┃ ┃ ┃ ┣━06_FreeRTOS移植配置问题.mp4* L$ }; N7 R' [
┃ ┃ ┃ ┃ ┣━07_操作系统中的任务调度相关名称.mp4' q$ q4 j( I* Z% g p4 G/ v
┃ ┃ ┃ ┃ ┣━08_操作系统的调度机制理解.mp4
) b. Y/ z& b n3 E& V┃ ┃ ┣━day17
$ R# m( [* p1 @5 D& I2 m4 o: }8 D┃ ┃ ┃ ┣━video
1 F4 W9 \/ w: c; J! d8 B1 N% ^┃ ┃ ┃ ┃ ┣━01_临界区的介绍.mp46 O2 A5 k; N7 ]9 `
┃ ┃ ┃ ┃ ┣━02_内存分配说明.mp4
& |$ g, m5 u0 w* ?: S┃ ┃ ┃ ┃ ┣━03_freeRTOS中断介绍.mp4
, X) A, o2 C% I( y┃ ┃ ┃ ┃ ┣━09_计数型信号量演示.mp4& p2 J) l) { ^5 i7 h5 t
┃ ┃ ┃ ┃ ┣━11_递归互斥信号量演示.mp4
: w+ {# S8 Y3 C1 y0 C; q┃ ┃ ┃ ┃ ┣━12_队列介绍.mp48 v; @0 {9 x: {/ @% ?5 [/ X
┃ ┃ ┃ ┃ ┣━15_freeRTOS队列入队和出队.mp4
4 g% Z2 ^6 e! Y" T+ v' ]& S┃ ┃ ┃ ┃ ┣━17安装.mp4
" Z: ^) d' ~; d┃ ┃ ┃ ┃ ┣━08_二进制信号量演示.mp4; k- s5 \: S- U6 x# H% k0 i3 _' T
┃ ┃ ┃ ┃ ┣━13_freeRTOS中的消息队列.mp4% l' ?) X& S) d ~5 d4 N
┃ ┃ ┃ ┃ ┣━16_freeRTOS消息队列复杂类型.mp48 P( z& j* S, i4 G$ p- N3 n
┃ ┃ ┃ ┃ ┣━04_freeFTOS中断演示.mp4) k/ `: o. `4 @3 n- V4 P% K
┃ ┃ ┃ ┃ ┣━05_freeRTOS官方文档介绍.mp4
1 ^ W! w% ?" C! h" I┃ ┃ ┃ ┃ ┣━06_freeRTOS的软件定时器.mp4
# [$ H* ~) r2 u I7 C┃ ┃ ┃ ┃ ┣━07_创建二进制信号量.mp40 N$ z2 k1 U# j6 K( ?. m. a
┃ ┃ ┃ ┃ ┣━10_互斥信号量演示.mp4* V5 s$ {' d! M5 ?; W
┃ ┃ ┃ ┃ ┣━14_freeRTOS队列创建.mp45 _( \8 Y! ^( R2 q& G8 s
┃ ┃ ┣━day18
- W0 S4 ?4 w- K┃ ┃ ┃ ┣━video7 U# k+ a& Z+ y) L/ Y
┃ ┃ ┃ ┃ ┣━02_任务中队列的使用规则.mp4
8 V- w+ k7 n. C" |. B7 R' \┃ ┃ ┃ ┃ ┣━07_事件组的多接收.mp4
. W; x9 h2 J6 z' t2 c# _# }* z┃ ┃ ┃ ┃ ┣━08_姿态简单介绍.mp42 L! [+ `( ?$ h: c
┃ ┃ ┃ ┃ ┣━09_MPU6050移植.mp4. ]( |( h2 G! {5 `. H3 g' K# \
┃ ┃ ┃ ┃ ┣━10_MPU6050调试过程.mp40 q$ q$ F$ U1 M
┃ ┃ ┃ ┃ ┣━15_电机霍尔传感器测速原理.mp4' M2 Q: m+ ?( {7 a5 s
┃ ┃ ┃ ┃ ┣━01_队列结构.mp4
. E) `" N3 A2 |* C┃ ┃ ┃ ┃ ┣━12_验证MPU功能是否可用.mp4
4 Y( i* I0 J0 h* d q* q┃ ┃ ┃ ┃ ┣━13_验证问题说明.mp4! p$ N) E. ^3 o0 [ Y" P0 z8 |8 F
┃ ┃ ┃ ┃ ┣━14_电机的加速比.mp4
5 I6 b0 V' ^, p6 A! @* b┃ ┃ ┃ ┃ ┣━16_mpu调试过程说明.mp4
# ]* K# J: H& M+ l7 {( c8 b: t┃ ┃ ┃ ┃ ┣━03_消息队列实现.mp49 `, T9 D S, t" R1 s
┃ ┃ ┃ ┃ ┣━04_消息队列的中断发送.mp4" ?7 m4 J& u% b4 c! n/ t: f
┃ ┃ ┃ ┃ ┣━05_事件组的基本概念.mp4, s p4 V2 B- R( W E# }! Q% v
┃ ┃ ┃ ┃ ┣━06_事件组多事件触发.mp4& i+ p! Z& ?' b& o7 x
┃ ┃ ┃ ┃ ┣━11_示波器功能介绍.mp4
' W: n* d; m; a% A┃ ┃ ┣━day19# R# u. @1 x& x+ M* z0 N
┃ ┃ ┃ ┣━video" d2 H6 N' w$ U
┃ ┃ ┃ ┃ ┣━01_编码器环境准备.mp4
( B2 l* B; v8 u. ?% U┃ ┃ ┃ ┃ ┣━02_编码器测数实现.mp4/ ^% S: M5 W2 y! F8 m# Z* P* H
┃ ┃ ┃ ┃ ┣━04_项目架构设计.mp40 y0 B; `' A6 ^* a3 l; V6 B
┃ ┃ ┃ ┃ ┣━06_BSP驱动开发和PML联动.mp4. M$ B1 `+ M$ y; f9 Y4 `" u8 O
┃ ┃ ┃ ┃ ┣━09_通讯协议构建过程.mp4
9 ]0 t& \7 Y% Y* l5 {┃ ┃ ┃ ┃ ┣━12_PC端实现指定协议封装.mp4/ Q) ]0 P7 W) a* S
┃ ┃ ┃ ┃ ┣━13_双方调试方式的调通.mp4
( j; v4 S3 h' `) _" w/ B5 X┃ ┃ ┃ ┃ ┣━16_开发板消息解析的实现.mp4! V [: }! d k3 O
┃ ┃ ┃ ┃ ┣━17_STLink keil闪退bug修复.mp4
. o4 f' e3 C1 r2 q┃ ┃ ┃ ┃ ┣━03_定时器正交编码器.mp46 B* j9 F" t9 D# T7 V7 K
┃ ┃ ┃ ┃ ┣━07_BSP驱动开发的优化.mp44 l* U% u$ u$ y
┃ ┃ ┃ ┃ ┣━08_项目代码结构介绍.mp4- Y4 w" [3 q5 s, G
┃ ┃ ┃ ┃ ┣━10_通讯协议双方的职责.mp4. v& D: U! _3 O% w9 @4 N" X
┃ ┃ ┃ ┃ ┣━11_PC端协议构建.mp4: {* D1 i& g% y+ h) _- d Z/ t" n! h9 @
┃ ┃ ┃ ┃ ┣━14_环形缓冲区介绍.mp4/ C, ~8 U f5 E6 ^3 ?
┃ ┃ ┃ ┃ ┣━15_环形缓冲区创建.mp4
/ S4 v$ b& Q8 h; y0 e2 q: F┃ ┃ ┃ ┃ ┣━05_项目结构新建.mp4
# s1 }( K/ m7 z: J" c┃ ┃ ┣━day20
! P$ E8 W8 ?5 M/ s; D┃ ┃ ┃ ┣━video
7 s$ \9 D& k2 W; ?/ L┃ ┃ ┃ ┃ ┣━01_内存处理操作.mp4
; N6 v; ?# U, j5 g. \; Z9 Y& }/ \4 U┃ ┃ ┃ ┃ ┣━05_gd32 FreeRTOS接收协议逻辑.mp4
7 p3 U, v4 ]) L2 f┃ ┃ ┃ ┃ ┣━07_开环和闭环系统.mp4
+ S: G5 n5 x7 y2 U- B┃ ┃ ┃ ┃ ┣━09_小车PID目标和测量值.mp4
( t9 U2 g0 Q# E; d' M( ]% D9 q" }' g┃ ┃ ┃ ┃ ┣━15_速度环说明.mp41 D) y1 x3 s w7 v7 H" e
┃ ┃ ┃ ┃ ┣━16_速度环调节.mp4$ Z z; c8 E) V6 P
┃ ┃ ┃ ┃ ┣━03_将协议移植到C51.mp4, S0 x! R @# r6 z1 L& J2 \
┃ ┃ ┃ ┃ ┣━08_PID理论介绍.mp48 N# K1 c( i/ Q# y8 c$ }
┃ ┃ ┃ ┃ ┣━10_error调试测量介绍.mp4: T$ W* M+ H# s9 s E( A6 R
┃ ┃ ┃ ┃ ┣━11_I和D的介绍.mp4
0 c, F! f: j# q! V) ~┃ ┃ ┃ ┃ ┣━14_平衡环调节点.mp4# X% R7 b# ?6 h7 u$ ?: W
┃ ┃ ┃ ┃ ┣━02_具体协议的解析.mp46 _6 x6 B; K( `7 ?. m
┃ ┃ ┃ ┃ ┣━04_c51大小端温度.mp4
1 z2 K/ U$ l0 `/ F( A┃ ┃ ┃ ┃ ┣━06_GD32 数据和解析和耗时操作分离.mp4
: L% l( k1 @8 G┃ ┃ ┃ ┃ ┣━12_P值的范围选择.mp4: [! o; @# }& T( r f" \3 M. F; J
┃ ┃ ┃ ┃ ┣━13_D值问题.mp4. f; h1 f* U' g1 t( b7 A
┃ ┣━06阶段:lvgl开发$ j5 [0 S% @0 S* X7 ?; ]) b' t
┃ ┃ ┣━day019 e; o- m% p% `: A
┃ ┃ ┃ ┣━video
" I5 H8 C* q/ F0 O2 r" H* q& Q┃ ┃ ┃ ┃ ┣━03_lvgl概述.mp48 b* u- [2 S/ a2 s1 [( F8 |
┃ ┃ ┃ ┃ ┣━04_lvgl学习线路.mp4
% g# x* ~6 x$ v7 R$ h┃ ┃ ┃ ┃ ┣━08_显示一个按钮.mp4
& Z4 n6 a! G9 Y$ z┃ ┃ ┃ ┃ ┣━09_LVGL显示第一个OBJ.mp45 Q" r/ V0 }1 w8 ]
┃ ┃ ┃ ┃ ┣━10_显示样式.mp43 ^9 \* k8 T% Z4 y$ {) H7 }0 F9 B7 E. x
┃ ┃ ┃ ┃ ┣━16_按钮状态可选.mp4+ m$ N' k% Q+ _+ h- B$ F
┃ ┃ ┃ ┃ ┣━20_textarea显示.mp4
E p# Z* ?/ g& O┃ ┃ ┃ ┃ ┣━22_gif显示.mp43 J( e. X, y. ?
┃ ┃ ┃ ┃ ┣━26_官方例程如何学习.mp4; J# | o+ `" w, n
┃ ┃ ┃ ┃ ┣━02_课程介绍.mp4% j* h: K( u8 O
┃ ┃ ┃ ┃ ┣━05_lvgl模拟器环境.mp4
9 p8 `' T. G8 w4 f7 {/ _┃ ┃ ┃ ┃ ┣━07_lvgl注意事项.mp42 A; U; X* V( c8 z
┃ ┃ ┃ ┃ ┣━11_显示Label.mp4/ j# _7 K1 ~$ q F7 o
┃ ┃ ┃ ┃ ┣━12_改变label字体大小和颜色.mp4
" f8 R; T: ?6 j& O┃ ┃ ┃ ┃ ┣━14_显示button.mp42 N- J b* g1 ~. q+ E) [/ Z
┃ ┃ ┃ ┃ ┣━17_cmake安装问题.mp4
- H& i- j% v* g3 N┃ ┃ ┃ ┃ ┣━18_btnmatrix按钮矩阵.mp4
; w4 C; k0 v: t┃ ┃ ┃ ┃ ┣━24_界面切换.mp4/ o$ r0 U$ g. I5 t7 o* c7 S" t+ M
┃ ┃ ┃ ┃ ┣━25_tabview.mp4
$ H! r+ p7 p( u6 Q. C4 u┃ ┃ ┃ ┃ ┣━27_动态的显示表格数据.mp4
: N0 x. x: S- s2 D9 K g┃ ┃ ┃ ┃ ┣━06_运行lvgl模拟器环境.mp4
) `. ~5 k3 M7 A5 n1 d┃ ┃ ┃ ┃ ┣━06_配置MINGW环境.mp4
2 H$ L' I! A/ z' I9 t┃ ┃ ┃ ┃ ┣━13_如何显示中文.mp4
! B; V% \) E, @┃ ┃ ┃ ┃ ┣━15_按钮事件的处理.mp4
; R2 I- L, X# V- P4 D8 ~9 t$ u┃ ┃ ┃ ┃ ┣━19_btnmatrix事件处理.mp4
3 n9 V- L& J6 i# V$ N5 c: b┃ ┃ ┃ ┃ ┣━21_img显示.mp4
+ S$ L" j o1 t2 d. E┃ ┃ ┃ ┃ ┣━23_布局相关.mp4
9 r7 C( P1 m$ L┃ ┃ ┣━day02! ^2 }% n, H/ [: O
┃ ┃ ┃ ┣━video
0 w q/ p; }3 f% A% F┃ ┃ ┃ ┃ ┣━05_vscode加载工程代码.mp4
/ W4 q2 V. V. G g: Q0 Y┃ ┃ ┃ ┃ ┣━07_修改UI一些小细节.mp4( b @! |9 S7 }9 q0 [; _! @
┃ ┃ ┃ ┃ ┣━10_代码演示界面切换.mp44 K n5 s! ~( k9 o8 j& x$ X2 @
┃ ┃ ┃ ┃ ┣━11_阅读屏幕相关资料.mp4% N+ q& b! L1 ] _6 U
┃ ┃ ┃ ┃ ┣━13_屏幕移植注意事项.mp4) N- e6 P1 N6 G( g3 V. v8 ^1 J
┃ ┃ ┃ ┃ ┣━15_移植准备工作.mp4
- }! y9 O$ Z% Y0 _┃ ┃ ┃ ┃ ┣━16_移植源代码.mp46 n% z% }1 q8 v4 F" E2 W% L* W
┃ ┃ ┃ ┃ ┣━18_移植显示部分.mp4
3 S1 X2 ?$ N# J┃ ┃ ┃ ┃ ┣━19_演示显示部分.mp4
/ Y7 L' ~7 e9 a+ q$ z6 j┃ ┃ ┃ ┃ ┣━02_squareline界面说明.mp4
1 r. ~' J# X! e$ r┃ ┃ ┃ ┃ ┣━03_查看示例工程.mp4
; l0 B3 X& S+ [& T┃ ┃ ┃ ┃ ┣━04_创建UI工程.mp4
( `8 Z$ S, Y- L0 i┃ ┃ ┃ ┃ ┣━06_完成时钟转动的代码.mp44 D U* F" U; |, W5 ~0 x3 w. k
┃ ┃ ┃ ┃ ┣━08_冒号添加动画.mp4% a) q! {: k0 W7 i. R1 a1 k
┃ ┃ ┃ ┃ ┣━09_温度显示界面.mp43 Q8 Y* e" p. t+ z% h3 G/ _; v
┃ ┃ ┃ ┃ ┣━12_遇到新的芯片该怎么做.mp4; n# b1 E5 F5 i) ~1 X; Y
┃ ┃ ┃ ┃ ┣━17_按照官方文档移植启动流程.mp4
2 ]" F+ s& n7 L# U# H6 G* l3 B; t┃ ┃ ┃ ┃ ┣━20_移植触摸部分.mp4, ]- y1 X( _$ e: S7 `" N* U4 V; W
┃ ┃ ┃ ┃ ┣━01_环境搭建的问题说明.mp4- c2 |; V* L @8 F7 ^' }+ v
┃ ┃ ┃ ┃ ┣━14_导入触摸的代码.mp4
" t" ~& J0 }1 r0 Q0 O4 ~┃ ┃ ┣━day03
+ ^; G: M# E- A┃ ┃ ┃ ┣━video" b# [2 V+ H0 A; L K6 y
┃ ┃ ┃ ┃ ┣━02_移植Smartwatch.mp4
, z. H" @7 e& l3 ?2 T) u$ Q7 K┃ ┃ ┃ ┃ ┣━05_导入freertos模板.mp4& M' S# ^7 x8 w
┃ ┃ ┃ ┃ ┣━06_导入lvgl源代码.mp4. e8 v9 |! {9 O# u, f' G
┃ ┃ ┃ ┃ ┣━01_上次课内容回顾.mp4! H9 B& ~' p/ \2 c
┃ ┃ ┃ ┃ ┣━03_实现代码逻辑.mp4( c; ^0 ^) @, B! F, r' a
┃ ┃ ┃ ┃ ┣━04_使用vscode编写keil工程.mp46 U: X% `% |% \! @6 Q6 b
┃ ┃ ┃ ┃ ┣━08_编写按钮与文本刷新案例.mp4
* p* b% Y/ x" Y2 u┃ ┃ ┃ ┃ ┣━07_编写5个核心代码.mp4
% s1 o6 A4 W+ m, r, `& w5 _┃ ┣━07阶段:JieLi_AC79开发8 G2 a4 {7 D- k- {/ F+ i
┃ ┃ ┣━day01
" q w2 C. A L( [+ |! @┃ ┃ ┃ ┣━video9 T; ^9 h& u6 f0 Q7 w
┃ ┃ ┃ ┃ ┣━06_输不出来的原因.mp4
8 x, W; ]- b `1 O) M: U8 Y! I┃ ┃ ┃ ┃ ┣━08_点灯.mp46 c. E1 W5 M3 I% k+ J! q
┃ ┃ ┃ ┃ ┣━10_pwm控制灯_下.mp4
" x+ H: f @$ W- b% N┃ ┃ ┃ ┃ ┣━15_读取程序启动日志_中.mp44 g. |% X3 W# W l5 l. G: Q+ g: o
┃ ┃ ┃ ┃ ┣━17_演示音乐的播放.mp4
5 R1 d) v$ p: s$ b% L┃ ┃ ┃ ┃ ┣━19_屏蔽不要的内容.mp4
$ }& V3 h% J7 i4 d8 v9 Z┃ ┃ ┃ ┃ ┣━01_上次课问题.mp4$ K) k1 i+ o4 X" z% g
┃ ┃ ┃ ┃ ┣━02_线上文档说明_上.mp4. B8 k- B( D. I
┃ ┃ ┃ ┃ ┣━04_阅读代码相关的文档.mp4
5 [% b u) X* T0 h) ?3 D$ H┃ ┃ ┃ ┃ ┣━05_输出helloitheima.mp4/ i. `' S( _$ t
┃ ┃ ┃ ┃ ┣━07_输出日志.mp4
* A/ e* H& b. ]5 H7 M# N; X! e┃ ┃ ┃ ┃ ┣━09_pwm控制灯_上.mp4
- d9 o# _/ F7 }' C7 X% o9 B1 x┃ ┃ ┃ ┃ ┣━13_了解boardc文件内容.mp4
. r- m: B$ {6 T2 ^7 d2 V┃ ┃ ┃ ┃ ┣━18_uart收发数据.mp47 @- B% @: Q% E8 C7 ~" W
┃ ┃ ┃ ┃ ┣━20_内容小结.mp4( z( r: {* K4 _7 I
┃ ┃ ┃ ┃ ┣━03_线上文档说明_下.mp4
8 j+ J, d) u. F, [6 F) Y/ C┃ ┃ ┃ ┃ ┣━11_一些问题说明.mp4% j. z2 B8 K6 Q1 J+ \
┃ ┃ ┃ ┃ ┣━12_添加自己的c文件.mp4
% T$ }/ o8 V' ]! N% o* z* ^┃ ┃ ┃ ┃ ┣━14_添加按键空能_上.mp4# ]* T! C0 I ~7 K, U, c2 I0 Q
┃ ┃ ┃ ┃ ┣━16_按键功能处理_下.mp4
6 Q# R4 B; E- f: Q a3 p& G┃ ┃ ┣━day02, S1 O' z# {: P' @6 h/ U
┃ ┃ ┃ ┣━video
2 o# A$ N# `1 u% |9 g┃ ┃ ┃ ┃ ┣━01-物联网项目分析.mp4
, w. K) B, @6 f6 G┃ ┃ ┃ ┃ ┣━02_开发方式.mp4
! L( V( V; ^8 x/ w0 u" w┃ ┃ ┃ ┃ ┣━03_JSON数据交换格式.mp4! e0 `/ I3 |9 F: B/ O
┃ ┃ ┃ ┃ ┣━04_cJSON文档阅读.mp4
& Q/ `9 l) M. k9 A" L+ V┃ ┃ ┃ ┃ ┣━07_封装了发送的功能.mp4
5 y6 T7 t" ^9 a6 A, F┃ ┃ ┃ ┃ ┣━08_测试串口接收解析协议.mp4
+ k6 R& ^7 L5 _, E┃ ┃ ┃ ┃ ┣━11_阅读sdk代码.mp43 a7 ^+ I( t# l
┃ ┃ ┃ ┃ ┣━13_使用通用mqtt_sdk验证连接.mp4
" {6 e$ O0 A( l/ V, Y┃ ┃ ┃ ┃ ┣━17_设备上传阿里云.mp4
' y9 u# Q" f- D* I4 i( U$ [! K7 F┃ ┃ ┃ ┃ ┣━18_PC连接梁山派.mp4
( x( Y z5 Y7 }& H┃ ┃ ┃ ┃ ┣━05_cJSON移植到keil中.mp4# B1 U3 d7 P' X) ?
┃ ┃ ┃ ┃ ┣━06_cJSON数据格式化代码.mp4% z: u7 Z7 c1 U4 {3 z; s
┃ ┃ ┃ ┃ ┣━09_串口数据收发代码实现.mp49 W+ m4 Z; |1 L" a9 R; C$ F
┃ ┃ ┃ ┃ ┣━10_阿里云端的配置.mp4
' l- [! W- o4 n+ q4 x: n┃ ┃ ┃ ┃ ┣━15_下午_阿里云端的配置.mp4
) F ?0 W% u3 K┃ ┃ ┃ ┃ ┣━19_全流程上传逻辑.mp49 o6 }# Q/ W% B2 E+ o
┃ ┃ ┃ ┃ ┣━20_全流程下载逻辑.mp4' w. Q6 O% V! q) x7 N( Z
┃ ┃ ┃ ┃ ┣━12_验证sdk连接.mp4
! V0 M2 D* C) b9 ]) w┃ ┃ ┃ ┃ ┣━14_阿里云创建步骤小结.mp4
1 `1 x7 I: ]8 p- L h& m( _0 |& g┃ ┃ ┃ ┃ ┣━16_使用alink连接阿里云.mp4
0 Y: P- p9 f( `( C% q┃ ┃ ┣━day03; }. k: Y- ?. ?! K6 l4 i
┃ ┃ ┃ ┣━video# x) @) K) k9 u" ?2 j8 P. Y; m; ]
┃ ┃ ┃ ┃ ┣━02_编写串口收发函数.mp4' e. m* `& C$ ^
┃ ┃ ┃ ┃ ┣━04_串口收发_异常调试.mp4
$ |0 m8 u1 |+ ^4 O2 a- v* Z┃ ┃ ┃ ┃ ┣━05_配置wifi信息.mp47 l3 k& q2 C* ^7 I1 ?7 V" k0 }
┃ ┃ ┃ ┃ ┣━06_tcp代码复制.mp4
$ x1 Q$ T4 U1 r┃ ┃ ┃ ┃ ┣━11_mqtt_demo代码编写.mp45 W/ N- v9 S$ a4 F z3 R
┃ ┃ ┃ ┃ ┣━18_梁山派端代码修改.mp4
* { a5 K# p1 P┃ ┃ ┃ ┃ ┣━01_流程回顾.mp4/ `$ e7 O) T+ `' r
┃ ┃ ┃ ┃ ┣━03_串口收发_烧录代码.mp49 N) F# }& O9 @! [+ L$ `3 x
┃ ┃ ┃ ┃ ┣━09_网络连接部分问题说明.mp4+ X: D" e7 V) _2 z1 }2 M* o; p
┃ ┃ ┃ ┃ ┣━10_mqtt_demo代码阅读.mp4
/ l+ n% U& ?. f/ h┃ ┃ ┃ ┃ ┣━12_mqtt_demo验证.mp4 H$ k8 m5 `- g6 @0 D+ K+ e
┃ ┃ ┃ ┃ ┣━14_uart与mqtt代码测试.mp4
6 [' i' P' q( l┃ ┃ ┃ ┃ ┣━15_流程回顾.mp4$ u! h$ }+ z8 D1 \+ z+ t
┃ ┃ ┃ ┃ ┣━16_mqtt收发代码测试.mp4/ y; A7 `5 _/ y" ?( @ b2 i: [9 y; L
┃ ┃ ┃ ┃ ┣━17_屏蔽SDK中的日志.mp4: ?8 n5 o4 z: f5 D
┃ ┃ ┃ ┃ ┣━19_梁山派端测试收发.mp4+ ]: u4 ^' ~5 |7 v0 G
┃ ┃ ┃ ┃ ┣━20_物联网项目小结.mp4/ K& U- s3 ^5 n5 |. q: A+ H
┃ ┃ ┃ ┃ ┣━21_移植屏幕显示部分.mp4
' K2 ^$ S4 f1 f1 a+ }* v2 @3 m) s┃ ┃ ┃ ┃ ┣━22_lvgl需要注意的地方.mp43 [+ J; @6 d9 h! R
┃ ┃ ┃ ┃ ┣━23_课程小结.mp4
5 v1 i, ]- D: L% u┃ ┃ ┃ ┃ ┣━07_网络连接部分.mp48 x( W9 _* ~( [. B
┃ ┃ ┃ ┃ ┣━13_uart与mqtt代码合并.mp4+ c, d' |# b% U; k( h
┃ ┣━08阶段:Linux驱动(ros)
$ l; a6 i4 t. N( k& B) L┃ ┃ ┣━day01-Linux8 d+ w- l5 r* m9 }# i
┃ ┃ ┃ ┣━01.课程内容讲解.mp4
3 [+ N9 ?7 e: I$ H1 D┃ ┃ ┃ ┣━02.linux操作系统简介.mp4; J* J: l& w$ ~- o: m
┃ ┃ ┃ ┣━03.linux的文件和目录.mp4
3 }0 t3 d3 d8 `( m& C' Q7 w3 C┃ ┃ ┃ ┣━04.命令的组成和帮助文档.mp4, x5 O5 I8 T# v# ~: X
┃ ┃ ┃ ┣━05.查看和切换目录.mp4
/ d5 o9 \5 z1 B┃ ┃ ┃ ┣━06.文件和文件夹命令.mp4
. ^ m7 y7 C% m( g┃ ┃ ┃ ┣━07.输出重定向和查看文件内容.mp4
7 w A5 Y3 I5 D E( A┃ ┃ ┃ ┣━08.grep和find.mp4& s7 y {; a; q
┃ ┃ ┃ ┣━09.管道.mp4. P8 h9 K, P. t$ M* c
┃ ┃ ┃ ┣━10.管道和链接.mp48 A+ \2 P1 J: n4 h$ ]; |
┃ ┃ ┃ ┣━11.字母法修改权限.mp4( M, I w' Z+ E3 J5 t! c
┃ ┃ ┃ ┣━12.权限修改和超级管理员权限获取.mp4
. G, Z; E$ G8 y& L/ v% h┃ ┃ ┃ ┣━13.文件压缩和解压缩.mp4. ]$ b( ^0 g) ]- K
┃ ┃ ┃ ┣━14.软件卸载和安装.mp4, W3 _+ M0 ?! D% ~3 K
┃ ┃ ┃ ┣━15.vim编辑器.mp4' ^9 T6 j4 g/ Q. E3 i
┃ ┃ ┣━day02-Linux
' |7 Q4 \) i( `$ w4 u, l, d7 p+ X┃ ┃ ┃ ┣━01.debug串口连接鲁班猫.mp4
/ Y' t: F" t# ~9 H' l! s3 e) A. L& g┃ ┃ ┃ ┣━02.共享网络连接鲁班猫.mp4' e$ L( y- m/ ~, i5 h
┃ ┃ ┃ ┣━03.鲁班猫引脚说明.mp4
4 v7 E( ^& a/ i3 c┃ ┃ ┃ ┣━04.gpio操作.mp4
. b) Y- t* k' {9 W$ _, W┃ ┃ ┃ ┣━05.gpiod操控io口.mp4% s% k. \ S1 V( ^
┃ ┃ ┃ ┣━06.pwm控制.mp4
5 b: F. J' m* a1 Z/ M% U┃ ┃ ┃ ┣━07.uart通信.mp4
8 R, U) Z* V( z" G4 J0 Z┃ ┃ ┃ ┣━08.vscode远程开发和pip镜像.mp47 @/ H( M7 q& ]' e6 \8 h& T
┃ ┃ ┃ ┣━09.gpiod引脚输入和输出.mp4
: l0 W8 r8 `7 G* B$ B┃ ┃ ┃ ┣━10.periphery.mp4
\! I% a: h" ?* g2 Z9 ~2 _┃ ┃ ┃ ┣━11.pwm代码操控.mp4
$ J+ }. U- {! @3 i' }┃ ┃ ┃ ┣━12.串口代码控制.mp4
, J# h+ @/ V6 I9 S- u5 I┃ ┃ ┣━day03-opencv
7 [9 F$ K l+ \3 \5 a┃ ┃ ┃ ┣━01_课程介绍.mp45 L( `+ i( g. S4 @7 G
┃ ┃ ┃ ┣━02_opencv安装.mp4
6 H0 T) {6 Y- M6 N0 O9 \┃ ┃ ┃ ┣━03_机器视觉概述.mp4
. w( K+ v) k$ a┃ ┃ ┃ ┣━04_面临的挑战.mp42 C4 \: v+ ~: X7 \
┃ ┃ ┃ ┣━05_opencv文档介绍.mp4
; u1 e# N+ ]2 C) _ B- N/ P┃ ┃ ┃ ┣━06_读取图片.mp4+ x& y# o" E4 S0 w2 C! J+ A
┃ ┃ ┃ ┣━07_vscode中的jupyter.mp4
/ I- w, D8 f$ p" F H" |; V┃ ┃ ┃ ┣━08_操作像素.mp4
( j) e) o! [, p* r2 }' G+ F# m* G┃ ┃ ┃ ┣━09_图像剪切.mp4
/ f: m) B5 G1 S. ]; Z3 O┃ ┃ ┃ ┣━10_图像的镜像处理.mp45 Q: C9 h3 m! P5 K8 H" j$ ] A( W
┃ ┃ ┃ ┣━11_图像的位移.mp4
6 m2 j4 ~# Z" Z( s5 C┃ ┃ ┃ ┣━12_仿射变换mp4.mp42 q# J3 S4 w4 {% y2 b8 h# Y
┃ ┃ ┃ ┣━13_仿射变换_下.mp4
; e0 i) m( E+ z┃ ┃ ┃ ┣━14_图像金字塔.mp4
5 c* h: y, m4 Y9 g┃ ┃ ┃ ┣━15_图像的融合.mp4! W! k0 D8 r0 |: `2 v7 H
┃ ┃ ┃ ┣━16_彩色图像转灰度.mp4" J3 j& i# i2 D
┃ ┃ ┃ ┣━17_颜色反转.mp4) S; T- f% Y2 E
┃ ┃ ┃ ┣━18_图像马赛克效果.mp4( Y. |8 I" ]- q( ~
┃ ┃ ┃ ┣━19_毛玻璃的效果.mp4
: w! L& ?$ v/ ?/ K+ u┃ ┃ ┃ ┣━20_图像的浮雕效果.mp4" i0 S# z8 v* \( D1 G( _& L9 G6 s
┃ ┃ ┃ ┣━21_绘制图像信息.mp4
! c8 W" L! A, X) c l┃ ┃ ┃ ┣━22_图像亮度增强.mp40 w0 @' ] M5 c" R
┃ ┃ ┃ ┣━23_图像的直方图.mp4
2 t" F C# O8 C┃ ┃ ┃ ┣━24_灰度图直方图均衡化.mp43 R* M! B3 \0 P# D% r; J0 V W; t
┃ ┃ ┃ ┣━25_彩色图像直方图均衡化.mp49 e3 N; M1 X) z' e2 W
┃ ┃ ┣━day04-opencv
/ {" l W& x- w3 a% ~┃ ┃ ┃ ┣━01_读取视频数据.mp4) g) d4 k! @& |4 }
┃ ┃ ┃ ┣━02_读取摄像头数据.mp4
_! i2 u9 X) b# z┃ ┃ ┃ ┣━03_判断当前是白天还是黑夜.mp4# ^+ ?4 F. I; h8 c s7 l7 Z4 e
┃ ┃ ┃ ┣━03_截取图片中的网球.mp4
2 ]. @0 @1 a" n. ]8 r┃ ┃ ┃ ┣━04_截取出网球.mp4, R% E+ g/ s" r" M3 l8 z% V. j
┃ ┃ ┃ ┣━05_图像的二值化.mp4: j' ^' o( d2 C) K2 V' T
┃ ┃ ┃ ┣━06_自适应阈值.mp4
; k7 v- j% I& {┃ ┃ ┃ ┣━07_图像卷积运算概念.mp4! L4 C& P; a# D6 r _5 ?5 Z+ J
┃ ┃ ┃ ┣━08_三种滤波算法.mp4
1 B9 h0 F! e6 L" K9 H/ K n c┃ ┃ ┃ ┣━09_Sobel算子.mp42 i, o( R u. f+ y
┃ ┃ ┃ ┣━10_Scharr函数.mp4" A& T1 k% U0 Y3 ]
┃ ┃ ┃ ┣━11_拉普拉斯算法.mp4
! n1 g+ g9 v, ]8 Y6 Q. _5 w┃ ┃ ┃ ┣━12_canny边缘检测.mp4
9 f$ d! u! ?6 W' l" c┃ ┃ ┃ ┣━13_图像锐化处理.mp4+ n" j1 o: r4 {! y
┃ ┃ ┃ ┣━14_霍夫直线概念.mp4; W( s" ]3 P8 ?$ L) r
┃ ┃ ┃ ┣━15_查找棋盘中所有的线段.mp4
+ O# u p3 K3 { k( j* Y8 T; m┃ ┃ ┃ ┣━16_霍夫圆形.mp4% C. P2 B6 z0 R2 p7 o |9 ]- M- i, d
┃ ┃ ┃ ┣━17_查找轮廓.mp4
% _7 Y% J1 ^. P0 Q% q┃ ┃ ┃ ┣━18_获取轮廓信息.mp4* S7 K4 ]% p& y% d
┃ ┃ ┃ ┣━20231206_095253.mp4+ g: |3 T0 P. U' v1 |- c; V$ e
┃ ┃ ┃ ┣━20231206_143305.mp4
9 l* G( a2 v. p( E2 d( w┃ ┃ ┣━day05-opencv$ ?$ a- b V0 k0 K, }
┃ ┃ ┃ ┣━01_形态学变换概述.mp4
/ J& x9 h* W. Z% T; q$ W( }┃ ┃ ┃ ┣━02_膨胀操作.mp4
( k5 H& ^+ L' U/ k/ ]┃ ┃ ┃ ┣━03_腐蚀操作.mp49 K& q3 Q" J1 M" L
┃ ┃ ┃ ┣━04_开操作.mp4/ {! Y' l; e, \2 B# g: ~2 S% k& Z
┃ ┃ ┃ ┣━05_闭操作.mp4% m% C2 |# {4 {( G5 H3 ]* k& Y
┃ ┃ ┃ ┣━06_距离变换.mp4/ J; [4 O, t, [4 F3 V1 }( ]
┃ ┃ ┃ ┣━07_零件计数.mp4
( g/ D- ?( Y6 s E┃ ┃ ┃ ┣━08_车道线检测_上.mp4' d4 M/ d8 d2 U. y$ z/ T
┃ ┃ ┃ ┣━09_车道线检测_合并直线.mp4' n8 ]1 L8 h2 k% W8 _
┃ ┃ ┃ ┣━10_车道线检测_下.mp4
% j) Q+ q$ @* B' w& N┃ ┃ ┃ ┣━11_演示landetect.mp4
" Q% A% B1 V @; N9 J4 L┃ ┃ ┃ ┣━12_移动侦测功能.mp4
' p# ~% J' F @% R' ?┃ ┃ ┃ ┣━13_图像切边_上.mp4: c3 m9 |; k- S* w+ U$ H& d. [
┃ ┃ ┃ ┣━14_图像切边_下.mp4
6 T0 I' V" }" I/ Z M2 C3 A┃ ┃ ┃ ┣━15_删除图像中所有的英文.mp4* }2 |% C3 k- ^1 [) h
┃ ┃ ┃ ┣━16_鼠标监听.mp4$ o; \% |4 q, N) i7 H! G
┃ ┃ ┃ ┣━17_图片修复功能.mp4
. _8 L" S0 B3 I┃ ┃ ┃ ┣━18_opencv小结.mp4
( Q2 \& i! b8 t┃ ┃ ┃ ┣━19_扩展_人脸检测.mp4
# G) s6 Z9 e7 ]% N. \, d┃ ┃ ┃ ┣━20_扩展_人脸属性.mp4
# L6 _- \* y `8 f8 s┃ ┃ ┃ ┣━21_扩展_人脸106个特征点.mp4
2 I# k4 n* H) k9 }┃ ┃ ┃ ┣━22_扩展_人脸识别锁.mp4
" a+ x9 y; r7 Q; c. B/ |2 h3 L┃ ┃ ┃ ┣━23_扩展_人脸识别锁流程.mp4. k' U. f4 _) }& C3 `
┃ ┃ ┣━day06-ros
! T# T& t- ? K7 Y* ^┃ ┃ ┃ ┣━01.回顾.mp4- K: X1 ~8 S7 C: }3 s
┃ ┃ ┃ ┣━02.鲁班猫连接摄像头.mp4
5 Y+ E* @" j' b5 D8 e0 E/ ]5 _) n┃ ┃ ┃ ┣━03.打开摄像头.mp4: G. a" K% d; q& Q: {( ]7 O
┃ ┃ ┃ ┣━04.ros介绍.mp43 Z2 k1 K1 y: h, I
┃ ┃ ┃ ┣━05.ros环境安装.mp4: K6 U3 a7 \: W
┃ ┃ ┃ ┣━06.ros节点介绍.mp4
1 x# S9 ?+ N4 r) @* \+ k; }┃ ┃ ┃ ┣━07.turtlesim和rqt.mp4
5 x2 S% L7 D! ^ f' ^┃ ┃ ┃ ┣━08.topic通信.mp4
# j" t( m% Q1 u4 P' B: W& r2 U┃ ┃ ┃ ┣━09.service通信.mp4
" d; S, C: j) g4 u┃ ┃ ┃ ┣━10.第一个ros节点.mp42 _- O0 _- w+ f3 n; Q- J( Y
┃ ┃ ┃ ┣━11.自定义ros节点.mp47 v P- V9 g: y6 l
┃ ┃ ┃ ┣━12.节点面向对象抽取.mp4" G! g I' |: _ {4 X& Z
┃ ┃ ┃ ┣━13.vscode模板代码配置.mp4
: _# T6 G2 D. R3 q; j3 U┃ ┃ ┣━day07-ros
( ~) g) M' d. i2 h┃ ┃ ┃ ┣━01.节点图片处理和加载.mp49 ~; M) S* e3 m# \
┃ ┃ ┃ ┣━02.苹果检测节点实现.mp4$ g& I3 A7 ~8 w* `4 L
┃ ┃ ┃ ┣━03.摄像头识别苹果实现.mp4
" k6 r' F& u- v* o0 |* Z┃ ┃ ┃ ┣━04.topic通信回顾.mp4
1 [ D' J; R; a5 z4 K& L7 s┃ ┃ ┃ ┣━05.topic发布者.mp4' F9 A# d0 C) n9 p
┃ ┃ ┃ ┣━06.topic订阅者.mp4; c* h4 l' y; m( F/ Y. e8 d v
┃ ┃ ┃ ┣━07.自定义msg.mp48 m7 G: @, p- B6 m4 }
┃ ┃ ┃ ┣━08.自定义msg使用.mp4
8 B+ }# `! A& d. m┃ ┃ ┃ ┣━09.节点打开摄像头.mp4+ x0 N' _0 X- l# O. {
┃ ┃ ┃ ┣━10.摄像头节点发布图像数据.mp4$ O7 Y6 L! v% p3 d8 V. O. J
┃ ┃ ┃ ┣━11.接收摄像头节点画面.mp4- W1 N9 {. z' g( W- K% t6 ~
┃ ┃ ┃ ┣━12.发布苹果图像数据.mp4: x+ H+ {, O5 t! i( W/ |
┃ ┃ ┃ ┣━13.接收苹果图片并解析.mp4
/ }: l" Y U- v* F% }) W┃ ┃ ┣━day08-ros
+ b. Z2 i# i' N┃ ┃ ┃ ┣━01.topic多对多通信实现.mp4, ?/ J# a# d3 t. }: q8 P2 T
┃ ┃ ┃ ┣━02.topic小乌龟控制程序初始化.mp4
/ H( ]# M. W, @┃ ┃ ┃ ┣━03.小乌龟控制布局.mp41 [- s, R* N% A
┃ ┃ ┃ ┣━04.小乌龟线速度和角速度控制.mp4- r0 y1 W4 Y, q) N+ G& ]
┃ ┃ ┃ ┣━05.订阅小乌龟位置.mp4
- P3 P1 [& x9 j/ ?2 U6 o x4 b! Z┃ ┃ ┃ ┣━06.更新界面显示.mp44 Y) M {8 @: m' L' t( W
┃ ┃ ┃ ┣━07.service通信回顾.mp4, ?! Y: `4 @+ d- F% R$ }$ b
┃ ┃ ┃ ┣━08.service通信server端实现.mp45 E" e! a* h. l% c
┃ ┃ ┃ ┣━09.service通信client端实现.mp4
$ }; _" S0 g/ K* Y3 O' W┃ ┃ ┃ ┣━10.自定义srv消息.mp4% I/ H6 H _/ B/ O' y, h6 ]
┃ ┃ ┃ ┣━11.apple检测流程.mp4
% @, M% p+ r% Y/ o┃ ┃ ┃ ┣━12.苹果检测图像发布.mp4
$ d8 V; L; o- u: x┃ ┃ ┃ ┣━13.server端接收图像数据.mp4/ d+ O" p8 Y! x
┃ ┃ ┃ ┣━14.apple检测自定义srv.mp4" Q4 n$ v/ L0 `# h9 D. @9 m
┃ ┃ ┃ ┣━15.apple检测server端.mp4
! K. M, Z+ J' d' Y) S6 }┃ ┃ ┃ ┣━16.apple检测client端.mp4
0 @7 `, x$ F' K# { Y& `┃ ┃ ┃ ┣━17.小乌龟service搭建.mp45 F3 q: x! v* o' Z
┃ ┃ ┃ ┣━18.小乌龟service控制界面实现.mp4
; _! B# E1 N6 _- b┃ ┃ ┃ ┣━19.小乌龟clear和reset.mp40 ]4 W9 T, u: B" ^/ v+ k' ]$ v
┃ ┃ ┃ ┣━20.小乌龟spawn.mp4
4 x2 G$ y$ V* X8 O+ g( F┃ ┃ ┃ ┣━21.杀死小乌龟.mp40 L, E j, d+ K) q% H3 C/ Q
┃ ┃ ┃ ┣━22.设置画笔.mp4! Y) c$ S% J2 ~7 a$ c! X, i
┃ ┃ ┃ ┣━23.设置绝对位置和相对位置.mp4
6 p6 V0 r! S0 x; v0 A+ M, P. k┃ ┃ ┣━day09-ros
9 a' M+ E, E9 Y! M9 F┃ ┃ ┃ ┣━01.扫地机器人界面搭建.mp4' n, b! [( U4 y! c. V
┃ ┃ ┃ ┣━02.小乌龟移动到前方位置.mp4
: Z7 M0 F: X" t1 N┃ ┃ ┃ ┣━03.小乌龟位置信息订阅.mp4: H" l& v% y, ]* p: p
┃ ┃ ┃ ┣━04.小乌龟按照特定时间移动到指定位置.mp4
" Y. @4 `9 K& X- a( [) ]7 M3 x┃ ┃ ┃ ┣━05.以特定小数时间移动到目标点.mp43 y' v; M8 @* J$ j3 g1 d' w
┃ ┃ ┃ ┣━06.以任意时间移动到指定位置.mp4
# b0 [, Y! }) P; C- {+ A5 ]┃ ┃ ┃ ┣━07.解决小乌龟移动时界面更新卡顿.mp4; a7 m% A: B8 q
┃ ┃ ┃ ┣━08.pid回顾.mp40 ?3 f- N, g0 n) i
┃ ┃ ┃ ┣━09.计算小乌龟和目标的角度.mp4
9 F9 E# q5 {/ w" A- {. L4 f┃ ┃ ┃ ┣━10.通过pid调节小乌龟移动速度.mp4
# ~$ y) h6 M9 @, A" z2 Q; D) ]┃ ┃ ┃ ┣━11.小乌龟转向任意方向实现.mp4* y( \$ M* N# j+ f3 N
┃ ┃ ┃ ┣━12.扫地机器人纵向扫地.mp4
$ D1 C2 Y% m# Z x' o7 {┃ ┃ ┃ ┣━13.param参数命令.mp4
2 T" M% P% H6 n. Z) ]% P┃ ┃ ┃ ┣━14.param参数代码实现.mp4
4 T' _4 T1 p' x┃ ┃ ┃ ┣━15.launch文件实现.mp4
, h% g- `# R9 v0 M& t┃ ┃ ┃ ┣━16.节点名和命名空间.mp4
/ K: _ [: R* E* E7 G4 G┃ ┃ ┃ ┣━17.topic重定向.mp4
, h2 y7 ?5 b0 d$ j' V┃ ┃ ┃ ┣━18.param参数和yaml文件加载.mp4
" k* w! A# M& K┃ ┃ ┃ ┣━19.launch文件包含.mp4( U- m) C3 ~9 e7 E7 X) x
┃ ┃ ┣━day10-ros# S/ b" d) e* V) A1 u( s
┃ ┃ ┃ ┣━01.鲁班猫串口调试.mp48 f. F$ _% R$ \$ m
┃ ┃ ┃ ┣━02.usart1串口实现.mp4
; U5 k: N1 E$ X9 m/ }┃ ┃ ┃ ┣━03.上位机和下位机通信流程.mp4# a" g8 J& C9 z5 R, J/ ~' }
┃ ┃ ┃ ┣━04.struct回顾.mp4# E) L* r/ p7 z4 W* U
┃ ┃ ┃ ┣━05.rk3566给gd32发数据流程.mp45 a Y2 X R+ O# x( l( C% U
┃ ┃ ┃ ┣━06.gd32发送数据给rk3566流程.mp45 \$ {; a0 T! M7 B
┃ ┃ ┃ ┣━07.整合上位机和下位机通信.mp43 U2 r( N4 I8 p5 d
┃ ┃ ┃ ┣━08.usb_cam摄像头节点.mp4( B Z6 J4 U2 ?% I3 W
┃ ┃ ┃ ┣━09.rk3566识别车道线.mp4* H7 E3 t' b# Y/ e I
┃ ┃ ┃ ┣━10.上位机通过串口发布线速度和角速度.mp4: b" i- O; R8 _) \' m
┃ ┃ ┃ ┣━11.下位机接收线速度和角速度处理.mp49 ^' l) B; V! ~% b& p$ w
┃ ┃ ┃ ┣━12.下位机差速运行的原理.mp4
* w( |5 I$ y, `: _5 Q5 e┃ ┣━09阶段:机器狗项目
! K, q3 ], |! z& ^# s' _┃ ┃ ┣━day01! O! G# k5 g7 Z% J- a
┃ ┃ ┃ ┣━video
: V5 L& _3 t4 r% a4 O3 @┃ ┃ ┃ ┃ ┣━01.课程介绍.mp4
" b- [ D8 d) ?: Z! M/ C┃ ┃ ┃ ┃ ┣━02.机械狗介绍.mp4( |, K# L+ Q) E
┃ ┃ ┃ ┃ ┣━03.机械狗自由度介绍.mp4
8 I! e" U6 k! ?9 x7 {: ]┃ ┃ ┃ ┃ ┣━04.机械狗扩展版设计介绍.mp49 O* R- J7 p: y5 ~3 L
┃ ┃ ┃ ┃ ┣━05.舵机驱动.mp4
0 I; K. U+ `$ `+ T/ j! f┃ ┃ ┣━day02
+ C) T* e) e! L1 ~* u5 Y┃ ┃ ┃ ┣━video- H( c' [5 Q& x4 l5 s5 [. E
┃ ┃ ┃ ┃ ┣━03.常见狗腿逆解.mp4
1 w0 h! k( {( e& I) B" F┃ ┃ ┃ ┃ ┣━04.狗腿逆解alpha.mp4+ s1 b( g A; b5 b) y/ ~+ t
┃ ┃ ┃ ┃ ┣━06.狗腿逆解求bata.mp43 K: c( A& k8 }5 ]5 n2 X$ r
┃ ┃ ┃ ┃ ┣━07.求BCE的坐标.mp4
' c8 O# c1 f8 x' Q┃ ┃ ┃ ┃ ┣━08.绘制所有的狗腿直线.mp4
2 M9 j5 R1 A! l& J9 U7 P) {┃ ┃ ┃ ┃ ┣━09.狗腿点详情绘制.mp4% ]. t+ _6 J1 V& H( g
┃ ┃ ┃ ┃ ┣━10.绘制足端文本和角度文本呢.mp4
8 x; \1 L! z3 N& z O) \+ C+ s┃ ┃ ┃ ┃ ┣━01.回顾.mp4
" \; Y9 p$ e0 k3 a┃ ┃ ┃ ┃ ┣━02.正解和逆解.mp41 _/ ^8 p( u) w
┃ ┃ ┃ ┃ ┣━11.手动设置狗腿目标点.mp4
8 p4 x5 Q6 r/ {- W┃ ┃ ┃ ┃ ┣━05.狗腿逆解ABC夹角.mp42 Y7 Z1 m( S( G% i8 H7 t X8 G2 E
┃ ┃ ┣━day03- N' X7 I% X, ~2 Y& r
┃ ┃ ┃ ┣━video
) P( L- ~( `) i1 i/ ]& g- N W┃ ┃ ┃ ┃ ┣━03.timer1和timer2初始化.mp4
3 m0 Q5 i! u3 z1 M4 Z┃ ┃ ┃ ┃ ┣━04.舵机初始化及角度控制.mp4& ^) `) }+ c% y& q ?6 A
┃ ┃ ┃ ┃ ┣━05.8个舵机控制.mp4
, ], k+ A( u2 |2 V2 W) f Y┃ ┃ ┃ ┃ ┣━08.狗腿反解之后转换成舵机角度.mp4
1 G% q/ X) b0 }0 a. F* t┃ ┃ ┃ ┃ ┣━09.摆动曲线讲解.mp4
3 P. V& r' ^3 }8 F; N) A4 |┃ ┃ ┃ ┃ ┣━10.小跑 步态实现.mp4% V9 \5 i7 B, n+ y q
┃ ┃ ┃ ┃ ┣━01.狗腿反解补充.mp4
4 v' S p( U1 G; T3 K┃ ┃ ┃ ┃ ┣━02.摆动曲线和步态规划.mp40 }* C. Y8 d+ m+ Z; z7 z: e, J
┃ ┃ ┃ ┃ ┣━07.安装角度及舵机偏差调节.mp4
. B. Q4 Z$ B! o┃ ┃ ┃ ┃ ┣━11.小跑步态实现常见动作.mp4
8 ~; }4 x8 u5 o% b┃ ┃ ┃ ┃ ┣━06.下位机实现反解.mp4% i# `# g9 s. @4 _% D3 n. N( i% n
┃ ┃ ┣━day04
( H' D' }% W, p7 q┃ ┃ ┃ ┣━video
6 \1 |( d0 A! V" B* c( K┃ ┃ ┃ ┃ ┣━01.回顾.mp4 B0 B C& m: U7 J) }
┃ ┃ ┃ ┃ ┣━06.下位机运动控制和姿态控制组合.mp44 x- w! n5 M# I; g, X) T
┃ ┃ ┃ ┃ ┣━07.机械狗控制上位机界面搭建.mp4
6 ^. Z7 E! k+ @7 [┃ ┃ ┃ ┃ ┣━02.机械狗下位机移植freeRTOS.mp4$ { Q! J# m6 [) u6 d! O$ e. \
┃ ┃ ┃ ┃ ┣━03.上位机和下位机通信的指令.mp4
4 Y4 A1 {' _$ o7 f4 H @┃ ┃ ┃ ┃ ┣━08.上位机控制机械狗.mp43 S. K' T- p0 A/ N
┃ ┃ ┃ ┃ ┣━04.下位机通过flag控制狗前后左右踏步运动.mp4/ C! E8 ~- C% k0 `. Q
┃ ┃ ┃ ┃ ┣━05.狗前倾控制.mp4
# W* u. w. c/ H' y6 v0 T- t┃ ┣━【在线版】24年嵌入式课件
6 F' V. D) {& K┃ ┃ ┣━01-阶段课件.rar8 T1 w) \7 Q2 V3 r; [
┃ ┃ ┣━02-阶段课件.rar5 m7 Y- v6 e+ B* _2 v& ~+ m) g
┃ ┃ ┣━03-阶段课件.rar" ]1 m& c( A& p" ?2 o1 j9 c4 V& n
┃ ┃ ┣━04-阶段课件.rar
( F& |' p8 N, q4 t7 z) m6 S┃ ┃ ┣━05-阶段课件.rar( @; H5 f/ N/ V6 M/ H! c
┃ ┃ ┣━06阶段课件.rar9 f4 w# e7 g3 r" v: m# `
┃ ┃ ┣━07阶段课件.rar5 R2 L+ X. ~9 O+ O5 ~
┃ ┃ ┣━08阶段课件.rar
3 F! I D' D1 z" G. S! ]0 S1 h) l┃ ┃ ┣━09阶段课件.rar5 V7 J; K3 ?* U- W6 N$ U
4 H$ g" l" W7 g! e
6 ? e* q/ U: R) B. L% Q% A& l资源下载地址和密码(百度云盘): [/hide] 百度网盘信息回帖可见8 {" s+ r, }7 h$ B7 s% g
9 a/ G1 r7 a# s% Z( q
( Q8 d8 v+ J; i3 f z8 v; _' C7 R/ S4 c6 f+ _/ g! A/ _" }
本资源由Java自学网收集整理【www.javazx.com】 |
|