找回密码
 立即注册
楼主: 梁***

SPI DMA 输出控制WS2812三基色彩灯程序,不加反相器,STC8/STC32

[复制链接]

该用户从未签到

46

主题

2930

回帖

6593

积分

超级版主

积分
6593
 楼主| 发表于 2024-3-15 15:54:33 | 显示全部楼层
lhj 发表于 2024-3-15 12:49
梁工你好,一定要用MISO这个脚是吗,其它脚不行是吧

是用MOSI输出,不是MISO。这是SPI输出脚,用SPI控制WS2812当然只能用MOSI。
回复 支持 反对 送花

使用道具 举报

  • TA的每日心情
    开心
    前天 21:40
  • 签到天数: 86 天

    [LV.6]常住居民II

    1

    主题

    66

    回帖

    597

    积分

    高级会员

    积分
    597
    发表于 2024-3-16 06:24:41 | 显示全部楼层
    回复 送花

    使用道具 举报

  • TA的每日心情
    开心
    1 小时前
  • 签到天数: 62 天

    [LV.6]常住居民II

    4

    主题

    89

    回帖

    464

    积分

    中级会员

    积分
    464
    发表于 2024-3-16 08:09:14 | 显示全部楼层
    学习了
     
    经常看看,偶尔玩玩——不过都是简单的,难的我也不会呀
     
    回复 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    1 小时前
  • 签到天数: 128 天

    [LV.7]常住居民III

    7

    主题

    126

    回帖

    493

    积分

    中级会员

    积分
    493
    发表于 2024-3-16 08:28:04 | 显示全部楼层
    梁工 发表于 2024-3-15 15:54
    是用MOSI输出,不是MISO。这是SPI输出脚,用SPI控制WS2812当然只能用MOSI。

    那就是这个芯片只能用这三个是吧
    截图202403160827336220.jpg

    点评

    是的,选择其一。  详情 回复 发表于 2024-3-16 17:44
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    3 天前
  • 签到天数: 40 天

    [LV.5]常住居民I

    2

    主题

    55

    回帖

    344

    积分

    中级会员

    积分
    344
    发表于 2024-3-16 09:26:27 | 显示全部楼层
    活到老学到老
    回复 送花

    使用道具 举报

    该用户从未签到

    46

    主题

    2930

    回帖

    6593

    积分

    超级版主

    积分
    6593
     楼主| 发表于 2024-3-16 17:44:53 | 显示全部楼层
    lhj 发表于 2024-3-16 08:28
    那就是这个芯片只能用这三个是吧

    是的,选择其一。
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    郁闷
    2024-1-23 19:43
  • 签到天数: 1 天

    [LV.1]初来乍到

    0

    主题

    16

    回帖

    110

    积分

    注册会员

    积分
    110
    发表于 2024-3-19 17:46:56 | 显示全部楼层
    梁工 发表于 2024-2-4 12:57
    会不会是数据出错了?

    梁工,这个问题我已经解决了,是驱动灯珠的电流不够,导致无驱动超过一定数量的灯珠
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    郁闷
    2024-1-23 19:43
  • 签到天数: 1 天

    [LV.1]初来乍到

    0

    主题

    16

    回帖

    110

    积分

    注册会员

    积分
    110
    发表于 2024-3-19 17:53:54 | 显示全部楼层
    梁工,我用你的例程,在定时器里使能定时器0的中断后,灯带就不亮了,关闭使能灯带正常量,能帮忙解决一下吗?谢谢了
    截图202403191752295512.jpg

    点评

    定时器中断函数呢?  详情 回复 发表于 2024-3-19 19:04
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    46

    主题

    2930

    回帖

    6593

    积分

    超级版主

    积分
    6593
     楼主| 发表于 2024-3-19 19:04:47 | 显示全部楼层
    Hssa 发表于 2024-3-19 17:53
    梁工,我用你的例程,在定时器里使能定时器0的中断后,灯带就不亮了,关闭使能灯带正常量,能帮忙解决一下 ...

    定时器中断函数呢?
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    郁闷
    2024-1-23 19:43
  • 签到天数: 1 天

    [LV.1]初来乍到

    0

    主题

    16

    回帖

    110

    积分

    注册会员

    积分
    110
    发表于 2024-3-19 19:28:01 | 显示全部楼层
    梁工 发表于 2024-3-19 19:04
    定时器中断函数呢?

    中断函数都没写,我使能定时器中断后,直接点亮的灯带,这个是while(1)里的函数
    while(1)
    {
                    Px = &WS2812B_Buffer[0][0];        //亮度(颜色)首地址
                   
                   
                    for(i=0; i<(WS2812B_Num * 3); i++, Px++)       
                    {
                            *Px = 0;        //清除所有的颜色
                    }
                   
                    for(m = 0; m < 150; m++)
                    {
                                    WS2812B_Buffer[m][1] = 255;        //红色
                                    WS2812B_Buffer[m][0] = 255;        //绿色
                                    WS2812B_Buffer[m][2] = 255;        //蓝色
                    }
                   
                    Load_WS2812B();                                                                //将颜色装载到SPI数据
                    DMA_SPI_config();                                                        //启动SPI DMA, 720字节一共耗时2.08ms @25.6MHz,分3次发送, 一次发240字节.
    }

    点评

    定时器中断函数都没写,却允许中断,怎么会正常?单片机基本理论要明白的哦。  详情 回复 发表于 2024-3-19 21:52
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-5-2 09:11 , Processed in 0.069526 second(s), 67 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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