|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 岁月如歌21 于 2025-11-12 17:16 编辑 1 d, H2 \0 Q' g! ^, I
, s4 r& q2 K- P$ D! o! v
DMA-SPI-MOSI 输出直接驱动 WS2812 三基色彩灯@8H/32G系列, CPU休息! Z8 r" W" } ^; h% r5 V
SPI方案, 不加外部反相器:4 n$ Q8 j8 y! R
===MISO不能做它用' v, x; L7 v) x. m! e6 G- p% L: n
本例使用P1.3-MOSI输出驱动信号,用户可以切换到别的脚。
: V8 D" x4 s- O' l9 \3 n===将 MISO 不做其他用途;
, x1 B6 V( M4 o7 A! t( f# q===将 MISO管脚 先设置为对外输出0; `( N1 Z* K. J
===MOSI 发送完成后,对外停止时输出的是 MISO 读到的状态, 0 !9 Z3 R/ k3 N6 C* p+ O$ J3 C
===SCLK如要做其他用途,可设置为高阻输入,作为输入使用
5 B; r9 x7 j. N0 B/ _& c 这 SPI 留了这么个绝活 支持 WS2812B !!!6 \" f2 B5 i/ H6 R$ S# S
本例驱动60个灯,接成环状。SPI发送720字节,DMA分3块发送,一块240字节,
& B1 J" ]( P. ?7 u: r8 }8 cSPI-DMA自动传送不占CPU时电路预览,文件包中有PDF:间,SPI-DMA 总耗时2.08mS,* u- K3 `& Y! ]8 k) i1 g
===但由于使用DMA中断处理,所以发送占CPU时间只有几uS。! h& `, d: F# M7 ]0 k5 b
===实际几乎 不占 CPU 时间
, e; ?8 g; M6 D& O7 w
q* f! k5 w" |% ], Z. p
& W) D! W, F, v. S- i) S
7 }3 G4 m {3 L' p0 B6 [5 U电路预览,文件包中有PDF:
7 L! }, U0 B/ C T8 @/ `' U- `& y' l
3 Z3 R2 q9 Y6 G% c/ u* [$ [
- t8 p; h8 c' c3 ?5 Z
t5 a% e) @2 }$ X/ e
/ W4 y- \5 v" w7 N9 B) z$ ?
' o* }$ }0 i' M7 [5 S5 m; D) G9 {
: b8 b! ^; p; w& Y
K7 I _1 v8 d' p: n6 G0 w
|
|