Atxmega128A3U控制灯带SK6812RGBW的注意事项
Atxmega128A3U控制灯带SK6812RGBW的注意事项由于“0”和“1”码都是根据信号宽度判断的,如果在单片机向灯带发送“0”码或“1”码的高电平期间,遇到系统中断,则灯带DI口接收到的高电平宽度可能超出了规格书的要求,导致显示颜色异常。时序表名称Min.实际值Max.单位
T码元时间1.2----us
T0H0码,高电平时间0.20.320.4us
T0L0码,低电平时间0.8----us
T1H1码,高电平时间0.580.641.0us
T1L1码,低电平时间0.2----us
Reset复位码,低电平时间>80----us
(1)协议采用单极性归零码,每个码元必须有低电平,本协议的每个码元起始为高电平,高电平时间宽度决定是“0”码还是“1”码;(2)书写程序时,码元周期最低要求为1.2us;(3)“0”码和“1”码的高电平时间按照上表的规定范围,“0”码和“1”码的低电平时间要求小于20us。 因此,单片机程序在发送“0”码或“1”码高电平前要执行#asm(“cli”)发送完成高电平后执行#asm(“sei”)测试结果,问题依旧。问题依旧的原因可能是低电平时间超过了20us,如果超过了80us,灯带会认为接收到复位信号,下次接收到的32位数据还是用于点亮第一个LED。那么,只能在发送灯带数据前执行#asm(“cli”)在整个灯带数据发送完成后执行#asm(“sei”)再次测试,问题解决。 在程序中打开中断的情况下,不要向灯带发送数据。
用户不多了
页:
[1]