单线控制的led灯带 ws2812 驱动程序总被定时器打断

2019-07-15 18:00发布

用的stc15系列的单片机写的驱动程序  ws2812是单线控制的 跑的20多M晶振 控制了64像素点的灯珠  区别高低电平的时候能用的是延时  
由于程序外设比较多 用到了定时器 还要用到pca模块进行霍尔测速
现在是不开中断 程序控制灯带没有一点问题 一开中断 ws2812的数据就会被打断 灯带的显示就很混乱 每次在刷新一帧数据之前把EA=0 刷新完之后EA=1 就没问题了
但是我里面涉及到测速 刷新一帧灯带64像素点大概要占用2ms时间 我刷新比较频繁的话 占用时间会更多 这样我测速就不准了
请各位前辈提供一个程序思路 谢谢
33.jpg
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
newbieboss
1楼-- · 2019-07-15 18:29
可以考虑将ws2812的驱动控制函数放在定时中断里,不要放在主函数。可以试试
newbieboss
2楼-- · 2019-07-15 20:23
可以考虑将ws2812的驱动控制函数放在定时中断里,不要放在主函数。可以试试
道缘科技
3楼-- · 2019-07-16 02:15
 精彩回答 2  元偷偷看……
ergabd
4楼-- · 2019-07-16 05:14
道缘科技 发表于 2015-4-12 13:50
不知楼主的这个程序是否已经完成,效果如何了?

我用的51单片机速度慢 控制的外设比较多 单线的不行  最后换成双线控制的灯珠了 单线的用51的话 只刷灯条效果也是完全没问题

单线的用stm32外设多也完全无压力

往事借过
5楼-- · 2019-07-16 10:56
楼主驱动代码能发我一份吗  1663931967@qq.com
Vitamin.C
6楼-- · 2019-07-16 16:06
ergabd 发表于 2015-4-16 11:46
我用的51单片机速度慢 控制的外设比较多 单线的不行  最后换成双线控制的灯珠了 单线的用51的话 只刷灯条效果也是完全没问题

单线的用stm32外设多也完全无压力

可以给个51控制代码参考一下吗?谢谢  747332802@qq.com

一周热门 更多>