第一次写串行通信程序,RGB全彩LED驱动芯片ws2801
大家快帮忙啊,ws2801是3通道LED驱动芯片,pwm可以实现256级灰度输出,准备做个显示装置就买了50个sop14的第一次写串行通信程序,RGB全彩LED驱动芯片ws2801,大约能看懂芯片文档里的时序图,上时序图
另外文档里的文字说明跟时序图有出入,具体是开始位的问题,到底有没有开始位,还有芯片什么时候有pwm输出都是问题
假设用avr做mcu
这是发送24个1的程序,大家看看合不合适
void SendTestDate(void)
{
DDRB|=0X03;//初始化io口为输出
unsigned int i;
for(i=0;i<24;i++)
{
PORTB|=0X02;//发送24个1过去,按理说3个通道都应该输出最大占空比
delay();
PORTB|=0X01://这是时钟线,上升沿锁存数据
delay();//合适的延时
PORTB&=0xfe://时钟线清零
}
}
如果加上起始位的话就发送25个1,把for循环里的24改成25就可以了,但是无论是24或者25都不行
http://cache.amobbs.com/bbs_upload782111/files_52/ourdev_722440PDSWFI.JPG
(原文件名:ws2801时序图.JPG)
http://cache.amobbs.com/bbs_upload782111/files_52/ourdev_722441N2P5U9.JPG
(原文件名:恒压.JPG)
点击此处下载 ourdev_722442Y9KINA.pdf(文件大小:371K) (原文件名:WS2801.pdf) 顶起来 再顶起来 感谢楼上airfex 不知道楼主现在解决没;
不知道楼主现在解决没;
页:
[1]