LAOXU 发表于 2023-12-30 09:31:21

祁绪电子 发表于 2023-3-27 22:00
STC-SPI 最大的设计失败,就是MOSI 空闲 不能配置成低电平

同感 !!!

WS2812 多级串联, 当数据量超出 DMA 缓冲区长度时, 就不能直接 使用了, 必须外加一级反相器, 才能可靠的分多次传送.

社区闲人 发表于 2023-12-30 10:32:01

原来一直使用软件模拟SPI通信,IO口随便设置,速率100K---4MHZ, 一次通信可传输16BIT/24BIT/32BIT,很方便。
后来STC出来DMA-SPI,才用上硬件SPI。也是觉得限制多多。

LAOXU 发表于 2024-1-1 14:59:25

社区闲人 发表于 2023-12-30 10:32
原来一直使用软件模拟SPI通信,IO口随便设置,速率100K---4MHZ, 一次通信可传输16BIT/24BIT/32BIT,很方便 ...

很正常, 软件灵活, 速度慢, 占程序开消.

由于受硬件的几种工作模式限制 , 硬件非常死板, 但程序开消少.

神农鼎 发表于 2024-1-1 17:04:09


帮评估下这位新人,提出的方案有无实际价值



DMA_SPI驱动WS2812B全彩LED的简单应用 - DMA: 支持4组串口,3组SPI,I2C,TFT-i8080/M6800,ADC - 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)

电子DIY小家 发表于 2024-1-1 23:09:58

神农鼎 发表于 2024-1-1 17:04
帮评估下这位新人,提出的方案有无实际价值




{:shocked:}STC32G的SPI+DMA驱动ws2812的应该好早就贴出来了的,本来就不需要反相器

神农鼎 发表于 2024-1-2 07:28:06

电子DIY小家 发表于 2024-1-1 23:09
STC32G的SPI+DMA驱动ws2812的应该好早就贴出来了的,本来就不需要反相器
冲哥帮在那个帖子加上不需要加反向器的特别提醒,免得新人被误导
并将链接贴到本贴后面,方便大家参考,省掉那个不应该加的反向器


//硬件SPI模拟WS2811时序(用SPI的8位数据模拟WS281x的一位数据)
//_____
// |      |____|   11110000high level
//__
// |   |_______|   11000000low level

神农鼎 发表于 2024-1-2 07:51:57

也是我们【荣誉版主圈】的自己人发的贴


SPI-DMA, 驱动全彩LED,无需反相,灯带数量只受xdata大小限制@STC32F12K54 - DMA: 支持4组串口,3组SPI,I2C,TFT-i8080/M6800,ADC - 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)

小坤 发表于 2024-1-8 08:36:24

神农鼎 发表于 2024-1-2 07:51
也是我们【荣誉版主圈】的自己人发的贴




实测 不需要加反向器就可以正常驱动WS2812

神农鼎 发表于 2024-1-8 08:55:38

不需要加反向器,说明 STC 的 SPI 和 冲哥一样威武
===本坛荣誉版主冲哥早就给出了 硬件 SPI 驱动 WS2812B 的成熟方案
===我是 2024/1/8 才来本贴学习后,恍然大悟,必须在 本坛 认真学习

www.STCAIMCU.com, 有了大家的奉献,威武啊

神农鼎 发表于 2024-1-9 08:43:38

SPI方案:
只用到MOSI驱动WS2812,但由于SPI的3个信号是捆绑在一起的,MISO、SCLK不能做它用。本例使用P1.3-MOSI输出驱动信号,用户可以切换到别的脚。
===将 MISO 不做其他用途;
===将 MISO管脚 先设置为对外输出0;
===MOSI 发送完成后,对外停止时输出的是 MISO 读到的状态, 0 ,这 STC-R&D 留了这么个绝活支持 WS2812B !!!

页: 1 2 [3] 4
查看完整版本: STC-SPI 驱动 WS2812, 【STC-USB转双串口工具作为开发板应用】之SPI驱动WS2812