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

SPI-DMA输出控制WS2812三基色彩灯程序@8H系列/32G系列,不加反相器, CPU休息

  [复制链接]
  • 打卡等级:偶尔看看III
  • 打卡总天数:50
  • 最近打卡:2025-04-30 22:59:03

73

主题

5882

回帖

1万

积分

超级版主

积分
12073
发表于 2024-4-20 23:50:49 | 显示全部楼层
_奶*** 发表于 2024-4-20 21:00
梁工您好~
最近在要使用一个类似WS2812通讯方式的数码管驱动芯片,最后选择了DMA+SPI模拟驱动芯片时序的方 ...

WS2812对这个间隙要求不严格,我也没定性测试,后续我会测试一下。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:301
  • 最近打卡:2025-05-01 08:32:20
已绑定手机

16

主题

304

回帖

1185

积分

金牌会员

积分
1185
发表于 2024-4-24 16:27:25 | 显示全部楼层
用梁工分享的STC8H8K64U-SOP16的SPI驱动WS2812,
因为XDATA只有8K,用SPI太费内存了,SPI_NUM(LED_NUM*12)最多只能驱动512颗,
都没有空间做变化缓存了,比用PWM少很多,
不过在做500颗以下的灯控都完全没问题,值得选用,支持!
希望STC以后能再出XDATA更大的51单片机

ed0a6b269f28c7249102defd479786a6.mp4

4.8 MB, 下载次数: 208

点评

如果MCU没什么事做,就直接IO输出就好了,一个灯3个字节,30us一个灯。1000个灯要3K字节,刷新一次30ms。  详情 回复 发表于 2024-4-24 16:57
专注LED灯控,25年LED从业经验,因为专注所以专业,欢迎大家沟通交流!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:50
  • 最近打卡:2025-04-30 22:59:03

73

主题

5882

回帖

1万

积分

超级版主

积分
12073
发表于 2024-4-24 16:57:14 | 显示全部楼层
VECEN*** 发表于 2024-4-24 16:27
用梁工分享的STC8H8K64U-SOP16的SPI驱动WS2812,因为XDATA只有8K,用SPI太费内存了,SPI_NUM        (LED_NU ...
XDATA更大的51单片机有:
管脚兼容的STC32G12K128, xdata, DMA缓冲区是8K
管脚兼容的STC32G8K64,     xdata, DMA缓冲区是6K

===================================
如果MCU没什么事做,就直接I/O输出就好了,
一个灯3个字节,30us一个灯。
1000个灯要3K字节,刷新一次30ms。




回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:83
  • 最近打卡:2024-09-30 23:22:51

0

主题

118

回帖

248

积分

中级会员

积分
248
发表于 2024-5-2 09:51:57 | 显示全部楼层
回复

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:83
  • 最近打卡:2024-09-30 23:22:51

0

主题

118

回帖

248

积分

中级会员

积分
248
发表于 2024-5-8 08:53:11 | 显示全部楼层
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:32
  • 最近打卡:2024-08-29 09:23:04

8

主题

29

回帖

37

积分

新手上路

积分
37
发表于 2024-6-30 12:52:48 | 显示全部楼层
请问一下 调用SPI初始化函数之前 需不需要对使用SPI通信的引脚进行GPIO初始化呢

点评

要初始化的,请下载主楼的程序参考。  详情 回复 发表于 2024-6-30 16:31
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:50
  • 最近打卡:2025-04-30 22:59:03

73

主题

5882

回帖

1万

积分

超级版主

积分
12073
发表于 2024-6-30 16:31:12 | 显示全部楼层
李*** 发表于 2024-6-30 12:52
请问一下 调用SPI初始化函数之前 需不需要对使用SPI通信的引脚进行GPIO初始化呢 ...

要初始化的,请下载主楼的程序参考。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-10-08 09:23:49

0

主题

8

回帖

52

积分

注册会员

积分
52
发表于 2024-7-4 08:20:02 | 显示全部楼层
我直接烧录hex,stc8h的,SPI+DMA,灯板点不亮?是P1.3吧,需要接上拉电阻吗

点评

程序文件里有电路图: [attachimg]50020[/attachimg]  详情 回复 发表于 2024-7-4 09:48
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:50
  • 最近打卡:2025-04-30 22:59:03

73

主题

5882

回帖

1万

积分

超级版主

积分
12073
发表于 2024-7-4 09:48:43 | 显示全部楼层
xx*** 发表于 2024-7-4 08:20
我直接烧录hex,stc8h的,SPI+DMA,灯板点不亮?是P1.3吧,需要接上拉电阻吗

程序文件里有电路图:

截图202407040948399470.jpg

点评

问一下,STC8H有两路spi;可以使用两路SPI分别驱动两个ws2812等带吗?我试了,不能同时点亮两个等待或分别点亮等待  发表于 2024-7-8 11:15
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-10-08 09:23:49

0

主题

8

回帖

52

积分

注册会员

积分
52
发表于 2024-7-5 16:43:05 | 显示全部楼层
梁*** 发表于 2024-7-4 09:48
程序文件里有电路图:

我烧录的时候,时钟晶振选的不对,所以你不亮

点评

STC8H只有一路SPI,可以分时切换使用成两路SPI分别驱动两个WS2812,你可以试试。  详情 回复 发表于 2024-7-8 11:48
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-1 23:25 , Processed in 0.130561 second(s), 116 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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