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()一样的。
你示波器看下波形。