Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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

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
Arrays 使用数组C++;_Arrays_Arduino_Gpio_Arduino C++ - Fatal编程技术网

Arrays 使用数组C++;

Arrays 使用数组C++;,arrays,arduino,gpio,arduino-c++,Arrays,Arduino,Gpio,Arduino C++,很抱歉打扰您,但是我在获取我的a马达阵列以在此代码中输出时遇到了问题 // initialise motors // Motor 1 //int in1 = 4; //int in2 = 2 ; // Motor 2 //int in3 = 8; //int in4 = 7; // Motor 3 //int in5 = 12; //int in6 = 13; // Motor 4 //int in7 = 9; //int in8 = 10; // Array of PWM's int th

很抱歉打扰您,但是我在获取我的a马达阵列以在此代码中输出时遇到了问题

// initialise motors

// Motor 1
//int in1 = 4;
//int in2 = 2 ;
// Motor 2
//int in3 = 8;
//int in4 = 7;
// Motor 3
//int in5 = 12;
//int in6 = 13;
// Motor 4
//int in7 = 9;
//int in8 = 10;

// Array of PWM's
int thisPin = 0;
uint8_t pwms[] = {3,5,6,11};
byte numberPwms = 4;

// Array for output channels
// Motor 1 (4 = High, 2 = Low)
// Motor 2 (8 = High, 7 = Low)
// Motor 3 (12 = High, 13 = Low)
// Motor 4 (9 = High, 10 = Low)
int mtrpin = 0;
uint8_t motors[] = {4,2,8,7,12,13,9,10};
byte motorPin = 8;

void setup()
{
//  pinMode(in1, OUTPUT);
//  pinMode(in2, OUTPUT);
//  pinMode(in3, OUTPUT);
//  pinMode(in4, OUTPUT);
//  pinMode(in5, OUTPUT);
//  pinMode(in6, OUTPUT);
//  pinMode(in7, OUTPUT);
//  pinMode(in8, OUTPUT);

  for (pwmPin = 0; pwmPin < numberPwms; pwmPin++){
      for (mtrPin = 0; mtrpin < motorPin; mtrPin++){
            pinMode(motors[mtrPin], OUTPUT);
        pinMode(pwms[pwmPin], OUTPUT);
        };
    }; 
}


void motorLoop(){
// setting the direction to turn and speed

//  digitalWrite(in1, HIGH); // Motor 2
//  digitalWrite(in2, LOW);  
//  digitalWrite(in3, HIGH); // Motor 2
//  digitalWrite(in4, LOW);  
//  digitalWrite(in5, HIGH); // Motor 3
//  digitalWrite(in6, LOW);
//  digitalWrite(in7, HIGH); // Motor 4
//  digitalWrite(in8, LOW);

// Set the speed for the Motors

  for(int pwmPin = 0; pwmPin < numberPwms; pwmPin++){
      for (mtrPin = 0; mtrpin < motorPin; mtrPin++){
            pinMode(motors[mtrPin], LOW);
        analogWrite(pwms[pwmPin], 200);
      };
   };  
};

void loop()
{
  motorLoop();
  delay(500);

}
//初始化电机
//马达1
//intin1=4;
//int in2=2;
//马达2
//int-in3=8;
//int-in4=7;
//马达3
//int-in5=12;
//int-in6=13;
//马达4
//int in7=9;
//int-in8=10;
//PWM的阵列
int thisPin=0;
uint8_t pwms[]={3,5,6,11};
字节号PWMS=4;
//输出通道阵列
//电机1(4=高,2=低)
//电机2(8=高,7=低)
//电机3(12=高,13=低)
//电机4(9=高,10=低)
int-mtrpin=0;
uint8_t电机[]={4,2,8,7,12,13,9,10};
字节motorPin=8;
无效设置()
{
//pinMode(in1,输出);
//pinMode(in2,输出);
//引脚模式(in3,输出);
//pinMode(in4,输出);
//引脚模式(in5,输出);
//pinMode(in6,输出);
//pinMode(in7,输出);
//pinMode(in8,输出);
对于(pwmPin=0;pwmPin
我已经设法让最初的调用开始工作,但现在我正在将其全部转换为数组。 我已经设法让它为PWMs工作,但现在在添加马达阵列后,它已停止工作,并给出此错误消息

在函数“Void setup()”中; 41:8:错误:“pwmPin”未在此作用域中声明 42:11:错误:“mtrPin”未在此作用域中声明 在函数“void motorLoop()”中; 74:8:错误:“mtrPin”未在此作用域中声明

我知道错误可能很简单,但我找不到可以挽救我生命的方法

此外,for循环已经被调用,因为它们现在是独立的,我仍然得到相同的错误。 您可以在上看到此代码

在此方面的任何帮助都将不胜感激:)

正如编译器所说:
mtrPin
尚未声明,但您正在使用它

声明在程序中引入名称,如变量的名称
mtrPin
。其他示例包括名称空间、函数和类。必须先声明名称,然后才能使用它。不能引用代码后面声明的名称

int mtrPin; // this is a (uninitialized) declaration -> mtrPin can be used
int mtrPin { 0 }; // this is a (value) initialization -> mtrPin can be used

把它分解成更小的部分。在编写代码时经常构建总是一个好主意,而不是先编写一堆代码然后再进行构建。编写一个函数,构建。向该函数添加更多代码,build。等等。检查变量的大小写。C++是区分大小写的(如错误所暗示的),在<代码> C++ +<代码>中没有<代码>字节<代码>类型(除了<代码> STD::Bux<代码> >代码> C++ 17 。您可能想使用
无符号字符
@rhahin-byte是非常感谢大家的标准类型。设法使它工作起来。从未想过检查值是否正确到case sentive:谢谢你的回答,我已经设法让它现在工作,因为它被证明是一个案件敏感的问题。谢谢你的反馈:D
int mtrPin; // this is a (uninitialized) declaration -> mtrPin can be used
int mtrPin { 0 }; // this is a (value) initialization -> mtrPin can be used