zqd8709 发表于 2025-5-27 15:44:17

我把您发出来的4种方式没有编译直接烧录,都测出了同样的情况

HUANGJUNZHI 发表于 2025-5-28 16:19:59

梁工您好,我看了你这个例程里面定义了60个灯,但是在不知道灯的数量的话,有没有其他方法在上电的时候MCU自己运行一段程序识别出灯的数量啊?非常感谢了!

梁工 发表于 2025-5-28 18:16:23

HUANGJUNZHI 发表于 2025-5-28 16:19
梁工您好,我看了你这个例程里面定义了60个灯,但是在不知道灯的数量的话,有没有其他方法在上电的时候MCU ...

没有反馈识别不了的,除非你将最后的灯的DO接到单片机去接收判断。

HUANGJUNZHI 发表于 2025-5-29 09:24:42

梁工 发表于 2025-5-28 18:16
没有反馈识别不了的,除非你将最后的灯的DO接到单片机去接收判断。

好的,感谢梁工提供了一个思路。但是我如果在灯带的GND或者电源端加个ADC检测电路,上电的时候下发一个特定亮灯指令如50%的白光,再检测电流,已知单个灯的电流大小,是否就可以检测出灯的数量呢?问题是每个灯的电流大小是否相等?

zqd8709 发表于 2025-5-29 09:32:37

zqd8709 发表于 2025-5-27 15:44
我把您发出来的4种方式没有编译直接烧录,都测出了同样的情况

首先感谢梁工指导,麻烦再问一下这个情况是芯片内部硬件导致的?有处理办法吗?

梁工 发表于 2025-5-29 09:45:29

HUANGJUNZHI 发表于 2025-5-29 09:24
好的,感谢梁工提供了一个思路。但是我如果在灯带的GND或者电源端加个ADC检测电路,上电的时候下发一个特 ...

最后的一个灯的DO串联一个510欧姆电阻接到IO。
首先按可能最多的灯数发全部为0的数据。
然后,发全部数据发比较小的值(这样LED不会明显的很亮),比如发0x01,每发完一个非0的bit,就读回来DO是否检测到数据,检测到,则为最后一个灯。

梁工 发表于 2025-5-29 09:46:37

zqd8709 发表于 2025-5-29 09:32
首先感谢梁工指导,麻烦再问一下这个情况是芯片内部硬件导致的?有处理办法吗? ...

我不知道你的情况是什么导致的,我不这里不能够重现,所以没法知道原因。

zqd8709 发表于 2025-5-29 09:48:59

好的感谢梁工   我这边再多次试试吧

llyymm 发表于 2025-5-29 22:45:55

梁工 发表于 2024-1-8 10:06
有的,最简单的就是直接IO输出,STC8系列这种1T单片机,都要加延时才行。下面是24MHz主频的程序,超简单: ...

梁工你好,我使用方案里只接有一个WS2812灯,但是我使用这个程序却无法点亮,我用的时STC32G的芯片,按理说不应该的,我也把数据输出设置成推挽模式了,但是就不亮!请问STC8和STC32NOP()应该一样的吧?

梁工 发表于 2025-5-29 23:16:41

llyymm 发表于 2025-5-29 22:45
梁工你好,我使用方案里只接有一个WS2812灯,但是我使用这个程序却无法点亮,我用的时STC32G的芯片,按理说不 ...

STC8和STC32的NOP()一样的。
你示波器看下波形。
页: 7 8 9 10 11 12 13 14 15 16 [17] 18
查看完整版本: SPI-DMA输出控制WS2812三基色彩灯程序@8H系列/32G系列,不加反相器, CPU休息