Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/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
Arrays 数组中的ARDUINO元素赢得';我没有得到一个值_Arrays_Loops_Arduino - Fatal编程技术网

Arrays 数组中的ARDUINO元素赢得';我没有得到一个值

Arrays 数组中的ARDUINO元素赢得';我没有得到一个值,arrays,loops,arduino,Arrays,Loops,Arduino,一直持续到255 此时J值变为1,循环继续 编辑 这是设置 [Info] Opened the serial port - COM3 RED 0 J VALUE 0 COLOR ARRAY 0 RED 0 J VALUE 0 COLOR ARRAY 1 RED 0 J VALUE 0 COLOR ARRAY 2 RED 0 J VALUE 0 COLOR ARRAY 3 RED 0 J VALUE 0 COLOR ARRAY 4 RED 0 J VALUE 0 COLOR ARRAY

一直持续到255 此时J值变为1,循环继续

编辑 这是设置

[Info] Opened the serial port - COM3
RED 0
J VALUE 0
COLOR ARRAY 0

RED 0
J VALUE 0
COLOR ARRAY 1

RED 0
J VALUE 0
COLOR ARRAY 2

RED 0
J VALUE 0
COLOR ARRAY 3

RED 0
J VALUE 0
COLOR ARRAY 4

RED 0
J VALUE 0
COLOR ARRAY 5

RED 0
J VALUE 0
COLOR ARRAY 6

RED 0
J VALUE 0
COLOR ARRAY 7

RED 0
J VALUE 0
COLOR ARRAY 8

RED 0
J VALUE 0
COLOR ARRAY 9

RED 0
J VALUE 0
COLOR ARRAY 10

RED 0
J VALUE 0
COLOR ARRAY 11

RED 0
J VALUE 0
COLOR ARRAY 12

RED 0
J VALUE 0
COLOR ARRAY 13

RED 0
J VALUE 0
COLOR ARRAY 14

RED 0
J VALUE 0
COLOR ARRAY 15

RED 0
J VALUE 0
COLOR ARRAY 16

RED 0
J VALUE 0
COLOR ARRAY 17

RED 0
J VALUE 0
COLOR ARRAY 18

RED 0
J VALUE 0
COLOR ARRAY 19

RED 0
J VALUE 0
COLOR ARRAY 20

RED 0
J VALUE 0
COLOR ARRAY 21

RED 0
J VALUE 0
COLOR ARRAY 22

RED 0
J VALUE 0
COLOR ARRAY 23

RED 0
J VALUE 0
COLOR ARRAY 24

RED 0
J VALUE 0
COLOR ARRAY 25

RED 0
J VALUE 0
COLOR ARRAY 26

RED 0
J VALUE 0
COLOR ARRAY 27

RED 0
J VALUE 0
COLOR ARRAY 28

RED 0
J VALUE 0
COLOR ARRAY 29

RED 0
J VALUE 0
COLOR ARRAY 30

RED 0
J VALUE 0
COLOR ARRAY 31

RED 0
J VALUE 0
COLOR ARRAY 32

RED 0
J VALUE 0
COLOR ARRAY 33

RED 0
J VALUE 0
COLOR ARRAY 34

您写入值的方式是错误的,您将
i
值分配给数组索引
j
,并且从未使用过它。我猜你是怎么想的,如果你修改了你分配给不同变量的数组,变量也会被修改,但事实上不会

以下是正确的方法:

for(int j=0;j<3;j++){
对于(int i=0;i<255;i++){
彩色阵列[j]=i;
analogWrite(红色,colorArray[0]);//0是红色索引
analogWrite(蓝色,colorArray[2]);//2是蓝色索引
analogWrite(绿色,colorArray[1]);//1是绿色索引
//这就是将值分配给数组的方式
} 
}
你不需要使用

int-redValue;
国际绿色价值;
int蓝值;

变量。

您编写值的方式是错误的,您将
i
值赋给数组索引
j
,并且从未使用过它。我猜你是怎么想的,如果你修改了你分配给不同变量的数组,变量也会被修改,但事实上不会

以下是正确的方法:

for(int j=0;j<3;j++){
对于(int i=0;i<255;i++){
彩色阵列[j]=i;
analogWrite(红色,colorArray[0]);//0是红色索引
analogWrite(蓝色,colorArray[2]);//2是蓝色索引
analogWrite(绿色,colorArray[1]);//1是绿色索引
//这就是将值分配给数组的方式
} 
}
你不需要使用

int-redValue;
国际绿色价值;
int蓝值;

变量。

如果要显示所有可能的颜色组合,将有2^24种组合。三个嵌套循环将起作用:

#定义红色3
#定义绿色5
#定义蓝色6
#定义延迟时间10
无效设置()
{
pinMode(红色,输出);
引脚模式(绿色,输出);
pinMode(蓝色,输出);
对于(int r=0;r<256;r++){
对于(int g=0;g<256;g++){
对于(int b=0;b<256;b++){
模拟文字(红色,r);
(绿色,g);
模拟文字(蓝色,b);
延迟(延迟时间);
}
}
}
}
void循环()
{
}
以上代码将一次性显示所有颜色。如果要连续循环使用所有颜色:

#定义红色3
#定义绿色5
#定义蓝色6
#定义延迟时间10
//当前颜色-32位值,但仅使用24位
//将8位红色、绿色和蓝色值打包到此
//00000000 BBBBBBGGGGGGRRRRRR
无符号长电流_颜色=0;
//宏从32位值获取红色、绿色和蓝色元素
#定义获取红色(x)((x)和0xFF)
#定义GET_绿色(x)((x)和0xFF00)>>8)
#定义获取蓝色(x)((x)和0xFF0000)>>16)
无效设置()
{
pinMode(红色,输出);
引脚模式(绿色,输出);
pinMode(蓝色,输出);
}
void循环()
{
模拟写入(红色,获取红色(当前颜色));
模拟写入(绿色,获取绿色(当前颜色));
模拟写入(蓝色,获取蓝色(当前颜色));
延迟(延迟时间);
当前颜色+=1;
如果(当前颜色>0xFFFFFF)当前颜色=0;
}

如果您想显示所有可能的颜色组合,您将有2^24种组合。三个嵌套循环将起作用:

#定义红色3
#定义绿色5
#定义蓝色6
#定义延迟时间10
无效设置()
{
pinMode(红色,输出);
引脚模式(绿色,输出);
pinMode(蓝色,输出);
对于(int r=0;r<256;r++){
对于(int g=0;g<256;g++){
对于(int b=0;b<256;b++){
模拟文字(红色,r);
(绿色,g);
模拟文字(蓝色,b);
延迟(延迟时间);
}
}
}
}
void循环()
{
}
以上代码将一次性显示所有颜色。如果要连续循环使用所有颜色:

#定义红色3
#定义绿色5
#定义蓝色6
#定义延迟时间10
//当前颜色-32位值,但仅使用24位
//将8位红色、绿色和蓝色值打包到此
//00000000 BBBBBBGGGGGGRRRRRR
无符号长电流_颜色=0;
//宏从32位值获取红色、绿色和蓝色元素
#定义获取红色(x)((x)和0xFF)
#定义GET_绿色(x)((x)和0xFF00)>>8)
#定义获取蓝色(x)((x)和0xFF0000)>>16)
无效设置()
{
pinMode(红色,输出);
引脚模式(绿色,输出);
pinMode(蓝色,输出);
}
void循环()
{
模拟写入(红色,获取红色(当前颜色));
模拟写入(绿色,获取绿色(当前颜色));
模拟写入(蓝色,获取蓝色(当前颜色));
延迟(延迟时间);
当前颜色+=1;
如果(当前颜色>0xFFFFFF)当前颜色=0;
}

您的程序未完成。1) 你想干什么?2) setup()函数在哪里?3) 如果在一个周期后停止循环(),延迟是什么?我没有想到要包括设置,因为我认为这不会有任何帮助。我无意中删除了延迟,对不起!但是我想实现的是,通过循环数组并给它“i”值,使颜色数组中的每种颜色都达到255。目标是什么?你想把所有的RGB组合形象化吗?是的,没错!Bdid检查波特率,因为分配给它的波特率与注释不同。您的程序不完整。1) 你想干什么?2) setup()函数在哪里?3) 如果在一个周期后停止循环(),延迟是什么?我没有想到要包括设置,因为我认为这不会有任何帮助。我无意中删除了延迟,对不起!但是我想实现的是,通过循环数组并给它“i”值,使颜色数组中的每种颜色都达到255。目标是什么?你想把所有的RGB都可视化吗
[Info] Opened the serial port - COM3
RED 0
J VALUE 0
COLOR ARRAY 0

RED 0
J VALUE 0
COLOR ARRAY 1

RED 0
J VALUE 0
COLOR ARRAY 2

RED 0
J VALUE 0
COLOR ARRAY 3

RED 0
J VALUE 0
COLOR ARRAY 4

RED 0
J VALUE 0
COLOR ARRAY 5

RED 0
J VALUE 0
COLOR ARRAY 6

RED 0
J VALUE 0
COLOR ARRAY 7

RED 0
J VALUE 0
COLOR ARRAY 8

RED 0
J VALUE 0
COLOR ARRAY 9

RED 0
J VALUE 0
COLOR ARRAY 10

RED 0
J VALUE 0
COLOR ARRAY 11

RED 0
J VALUE 0
COLOR ARRAY 12

RED 0
J VALUE 0
COLOR ARRAY 13

RED 0
J VALUE 0
COLOR ARRAY 14

RED 0
J VALUE 0
COLOR ARRAY 15

RED 0
J VALUE 0
COLOR ARRAY 16

RED 0
J VALUE 0
COLOR ARRAY 17

RED 0
J VALUE 0
COLOR ARRAY 18

RED 0
J VALUE 0
COLOR ARRAY 19

RED 0
J VALUE 0
COLOR ARRAY 20

RED 0
J VALUE 0
COLOR ARRAY 21

RED 0
J VALUE 0
COLOR ARRAY 22

RED 0
J VALUE 0
COLOR ARRAY 23

RED 0
J VALUE 0
COLOR ARRAY 24

RED 0
J VALUE 0
COLOR ARRAY 25

RED 0
J VALUE 0
COLOR ARRAY 26

RED 0
J VALUE 0
COLOR ARRAY 27

RED 0
J VALUE 0
COLOR ARRAY 28

RED 0
J VALUE 0
COLOR ARRAY 29

RED 0
J VALUE 0
COLOR ARRAY 30

RED 0
J VALUE 0
COLOR ARRAY 31

RED 0
J VALUE 0
COLOR ARRAY 32

RED 0
J VALUE 0
COLOR ARRAY 33

RED 0
J VALUE 0
COLOR ARRAY 34
#define RED 3
#define GREEN 5
#define BLUE 6

void setup()
{
Serial.begin(57600); // open the serial port at 9600 bps:
pinMode(RED, OUTPUT);
pinMode(GREEN, OUTPUT);
pinMode(BLUE, OUTPUT);
}