找回密码
 立即注册
楼主: 电子D***

STC-SPI 驱动 WS2812, 【STC-USB转双串口工具作为开发板应用】之SPI驱动WS2812

[复制链接]
  • TA的每日心情
    开心
    昨天 02:56
  • 签到天数: 136 天

    [LV.7]常住居民III

    37

    主题

    873

    回帖

    3986

    积分

    荣誉版主

    积分
    3986
    发表于 2023-12-30 09:31:21 | 显示全部楼层
    祁绪电子 发表于 2023-3-27 22:00
    STC-SPI 最大的设计失败,就是MOSI 空闲 不能配置成低电平

    同感 !!!

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

    使用道具 举报

  • TA的每日心情
    开心
    昨天 06:50
  • 签到天数: 157 天

    [LV.7]常住居民III

    17

    主题

    370

    回帖

    1301

    积分

    荣誉版主

    积分
    1301
    发表于 2023-12-30 10:32:01 | 显示全部楼层
    原来一直使用软件模拟SPI通信,IO口随便设置,速率100K---4MHZ, 一次通信可传输16BIT/24BIT/32BIT,很方便。
    后来STC出来DMA-SPI,才用上硬件SPI。也是觉得限制多多。

    点评

    很正常, 软件灵活, 速度慢, 占程序开消. 由于受硬件的几种工作模式限制 , 硬件非常死板, 但程序开消少.  详情 回复 发表于 2024-1-1 14:59
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 02:56
  • 签到天数: 136 天

    [LV.7]常住居民III

    37

    主题

    873

    回帖

    3986

    积分

    荣誉版主

    积分
    3986
    发表于 2024-1-1 14:59:25 | 显示全部楼层
    社区闲人 发表于 2023-12-30 10:32
    原来一直使用软件模拟SPI通信,IO口随便设置,速率100K---4MHZ, 一次通信可传输16BIT/24BIT/32BIT,很方便 ...

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

    由于受硬件的几种工作模式限制 , 硬件非常死板, 但程序开消少.
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    551

    主题

    9297

    回帖

    1万

    积分

    管理员

    积分
    14043
    发表于 2024-1-1 17:04:09 | 显示全部楼层

    点评

    STC32G的SPI+DMA驱动ws2812的应该好早就贴出来了的,本来就不需要反相器  详情 回复 发表于 2024-1-1 23:09
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    4 天前
  • 签到天数: 90 天

    [LV.6]常住居民II

    38

    主题

    986

    回帖

    6773

    积分

    荣誉版主

    冲哥视频教程和各种开源资料QQ交流群884047237,可群

    积分
    6773
    QQ
     楼主| 发表于 2024-1-1 23:09:58 | 显示全部楼层
    神农鼎 发表于 2024-1-1 17:04
    帮评估下这位新人,提出的方案有无实际价值

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

    点评

    冲哥帮在那个帖子加上不需要加反向器的特别提醒,免得新人被误导 并将链接贴到这  详情 回复 发表于 2024-1-2 07:28
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    551

    主题

    9297

    回帖

    1万

    积分

    管理员

    积分
    14043
    发表于 2024-1-2 07:28:06 | 显示全部楼层
    电子DIY小家 发表于 2024-1-1 23:09
    STC32G的SPI+DMA驱动ws2812的应该好早就贴出来了的,本来就不需要反相器

    冲哥帮在那个帖子加上不需要加反向器的特别提醒,免得新人被误导
    并将链接贴到本贴后面,方便大家参考,省掉那个不应该加的反向器


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

    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    551

    主题

    9297

    回帖

    1万

    积分

    管理员

    积分
    14043
    发表于 2024-1-2 07:51:57 | 显示全部楼层
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    3 天前
  • 签到天数: 115 天

    [LV.6]常住居民II

    8

    主题

    67

    回帖

    680

    积分

    高级会员

    积分
    680
    发表于 2024-1-8 08:36:24 | 显示全部楼层
    神农鼎 发表于 2024-1-2 07:51
    也是我们【荣誉版主圈】的自己人发的贴

    实测 不需要加反向器就可以正常驱动WS2812
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    551

    主题

    9297

    回帖

    1万

    积分

    管理员

    积分
    14043
    发表于 2024-1-8 08:55:38 | 显示全部楼层
    不需要加反向器,说明 STC 的 SPI 和 冲哥一样威武
    ===本坛荣誉版主冲哥早就给出了 硬件 SPI 驱动 WS2812B 的成熟方案
    ===我是 2024/1/8 才来本贴学习后,恍然大悟,必须在 本坛 认真学习

    www.STCAIMCU.com, 有了大家的奉献,威武啊
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    551

    主题

    9297

    回帖

    1万

    积分

    管理员

    积分
    14043
    发表于 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 !!!

    回复 支持 反对 送花

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-3 00:21 , Processed in 0.070571 second(s), 68 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表