Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Pointers Arduino,将数组指针/引用(?)传递到函数中,但得到的数据不正确?_Pointers_Arduino_Pass By Reference_Memory Corruption - Fatal编程技术网

Pointers Arduino,将数组指针/引用(?)传递到函数中,但得到的数据不正确?

Pointers Arduino,将数组指针/引用(?)传递到函数中,但得到的数据不正确?,pointers,arduino,pass-by-reference,memory-corruption,Pointers,Arduino,Pass By Reference,Memory Corruption,TL;DR我认为我将数组错误地传递到函数中,因此从数组中读取的数据不正确,可能会损坏Arduino内存 可以找到完整的代码 基本程序… 它用底色紫色点亮3个LED条带(在每个灯一个接一个地进行初始淡入淡出后),然后沿着条带进行一种颜色跟踪效果(7像素长),并从开始处再次循环 这里可以看到视频的效果 我将要做同样的效果,但我已经尝试重新考虑我的代码,这样每个人都可以更容易地调整颜色的参数 原始源代码可以在这里找到 注意:我已经注释掉了很多将颜色应用于像素的内容,因为我试图缩小出错的范围。基本上,

TL;DR我认为我将数组错误地传递到函数中,因此从数组中读取的数据不正确,可能会损坏Arduino内存

可以找到完整的代码

基本程序…

它用底色紫色点亮3个LED条带(在每个灯一个接一个地进行初始淡入淡出后),然后沿着条带进行一种颜色跟踪效果(7像素长),并从开始处再次循环

这里可以看到视频的效果

我将要做同样的效果,但我已经尝试重新考虑我的代码,这样每个人都可以更容易地调整颜色的参数

原始源代码可以在这里找到

注意:我已经注释掉了很多将颜色应用于像素的内容,因为我试图缩小出错的范围。基本上,我希望上面列出的输出停止发生


您可以在自己的项目中使用任意代码:)

好的,看起来我从这里找到了答案[]

所以这个函数以前是这样的

void trailEffectForward(Adafruit_NeoPixel &strip, TrailPixel (*trailArray)[TRAIL_LENGTH])
现在是这个吗

void trailEffectForward(Adafruit_NeoPixel &strip, struct TrailPixel trailArray[TRAIL_LENGTH] )
摆脱了所有指针/引用有趣的东西。我想我必须把“struct”这个词放在那里

所以当我调用函数时,我以前使用

trailEffectForward  ( stripBottom , &trailBottom );
但现在我用这个

trailEffectForward  ( stripBottom , trailBottom );
我不再有乱七八糟的数据,一切似乎都在愉快地工作了

希望这能在未来的几年里帮助一些人:)

---------------------
15
14
13
12
11
10
9
---------------------
15
5
5
43
1000
0
0
void trailEffectForward(Adafruit_NeoPixel &strip, TrailPixel (*trailArray)[TRAIL_LENGTH])
void trailEffectForward(Adafruit_NeoPixel &strip, struct TrailPixel trailArray[TRAIL_LENGTH] )
trailEffectForward  ( stripBottom , &trailBottom );
trailEffectForward  ( stripBottom , trailBottom );