梁工您好,我想问一下,这种方式是如何计算出WS2812的时序呢?如果我要改变时长要如何操作? ...
请仔细阅读我主楼里的解释。C文件也有这些解释。
不知道你说的“改变时长”指的是什么参数,WS2812的时序是固定的,特别是高电平时间,不能随意更改。 梁工 发表于 2025-7-14 17:30
请仔细阅读我主楼里的解释。C文件也有这些解释。
不知道你说的“改变时长”指的是什么参数,WS2812的时序 ...
感谢您 的回复,我需要控制其它同类型的芯片,时序和WS2812不一样。 无用科技 发表于 2025-7-14 19:52
感谢您 的回复,我需要控制其它同类型的芯片,时序和WS2812不一样。
控制SPI时钟频率即可:
SPI_CLKDIV = 1; //SPI_CLKDIV主时钟分频, 1~255分频
梁工 发表于 2025-7-14 23:43
控制SPI时钟频率即可:
SPI_CLKDIV = 1; //SPI_CLKDIV主时钟分频, 1~255分频
谢谢 实际测试有个问题,如果定义40颗灯,会亮41颗 无用科技 发表于 2025-7-15 14:30
实际测试有个问题,如果定义40颗灯,会亮41颗
有多少个灯就定义多少个灯。
#define LED_NUM32 //LED灯个数
梁工 发表于 2025-7-15 16:55
有多少个灯就定义多少个灯。
#define LED_NUM32 //LED灯个数
嗯,谢谢,我的意思是定义32实际会亮33颗{:4_167:},
另外就是速度问题, 在24M频率下测速,只有速度1能正常工作,速度0不能亮灯,速度2-3是全亮。
其它功能是正常的。 无用科技 发表于 2025-7-15 17:43
嗯,谢谢,我的意思是定义32实际会亮33颗,
另外就是速度问题, 在24M频率下测速,只有速度1能正常工作, ...
以上测试是默认程序无改动,驱动WS2812 无用科技 发表于 2025-7-15 17:43
嗯,谢谢,我的意思是定义32实际会亮33颗,
另外就是速度问题, 在24M频率下测速,只有速度1能正常工作, ...
关于速度,根据时序确定,而不是随意改变速度,比如WS2812,其时序是固定的(允许一定误差)。
关于灯数,你有几个灯就定义几个灯,有33个灯就不要定义32个。
页:
1
[2]