我正在为Arduino构建一个均衡器,因此我正在使用C语言编程,并且我遇到了以下问题,这肯定很容易解决,但是由于我以前没有用过C语言编程,所以我无法找到解决方案。
这就是我想做的事情:
现在我有一个函数,它需要以下参数:
Adafruit_NeoPixel strip1 = Adafruit_NeoPixel(21, LEFT_BAND_1, NEO_GRB + NEO_KHZ800);
...
Adafruit_NeoPixel strip14 = Adafruit_NeoPixel(21, RIGHT_BAND_7, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel strips[14] = {strip1,strip2,strip3,strip4,strip5,strip6,strip7,strip8,strip9,strip10,strip11,strip12,strip13,strip14};
现在我有一个函数,它需要以下参数:
void set_band_ledx(Adafruit_NeoPixel stripx,uint32_t color, float value,float value_old) {...}
我希望你能够像这样使用该函数:
for(int i = 0;i<1;i++){
set_band_ledx(strips[i],strip[i].Color(c1, c2, c3), value_l[i],value_l_old[i]);
}
如果我只用它来控制一个LED灯带,该函数本身是有效的,我猜问题在于指针。这个函数不会像这样简单地工作,我无法使其正常工作。如果我没有测试灯带数组,整个程序运行良好。
那么,我需要在哪里和如何使用指针呢?提前感谢您的帮助!