Estaba haciendo una sumadora, y me apareció este problema ayuda


expected unqualifield-id before 'void'


code: [select]
int led1 = 4,  //se definen la ubicación de los 4 led que representan el resultado de la suma.
    led2 = 5,
    led3 = 6,
    led4 = 7;
int switch1 = 0, //se define la ubicación de los 8 switches que representan los números sumar.
    switch2 = 1,
    switch3 = 2,
    switch4 = 3,
    switch5 = 8,
    switch6 = 9,
    switch7 = 10,
    switch8 = 11,
    switch22 = 22,
    switch23 = 23,
    switch24 = 24,
    switch25 = 25,
    switch26 = 26,
    switch27 = 27,
    switch28 = 28,
    switch29 = 29,
    switch30 = 30,
    switch31 = 31,
    switch32 = 32,
    switch33 = 33,
 

void setup()
{
  pinmode(led1, output); //se inicializan los pines de salida para los led.
  pinmode(led2, output);
  pinmode(led3, output);
  pinmode(led4, output);

  pinmode(switch1, input_pullup); //se inicializan los pines de entrada para los switches.
  pinmode(switch2, input_pullup);
  pinmode(switch3, input_pullup);
  pinmode(switch4, input_pullup);
  pinmode(switch5, input_pullup);
  pinmode(switch6, input_pullup);
  pinmode(switch7, input_pullup);
  pinmode(switch8, input_pullup);
  pinmode(switch22, input_pullup);
  pinmode(switch23, input_pullup);
  pinmode(switch24, input_pullup);
  pinmode(switch25, input_pullup);
  pinmode(switch26, input_pullup);
  pinmode(switch27, input_pullup);
  pinmode(switch28, input_pullup);
  pinmode(switch29, input_pullup);
  pinmode(switch30, input_pullup);
  pinmode(switch31, input_pullup);
  pinmode(switch32, input_pullup);
  pinmode(switch33, input_pullup);
}

void setsum(bool state, int led){ /*función que recibe un estado booleano y el número de un led, enciende el led cuando el
                                  equivale true y lo apaga cuando equivale false. el estado que recibe lo
                                  determina el método "add".*/
  if (!state) {
    digitalwrite(led, low);
  } else {
    digitalwrite(led, high);
  }
}

bool add(bool a, bool b, bool co, int led) { /*función que recibe tres booleanos que representan los bits sumar y el acarreo
                                              con el que carga la suma. también recibe el número de un led.*/
  if (!a) {                                  /*con la tabla de verdad se separa los posibles resultados por casos y se evalua
                                              según los valores de las variables. tabla de verdad adjunta en el reporte.*/
    if(b && co) {                           
        setsum(false,led);
        return true;
    } else if (!b && !co){
      setsum(false,led);
        return false;       
    } else {
    setsum(true,led);
    return false;
    }
  }
  if (a) {
    if (!b && !co) {
      setsum(true,led);
        return false;
    } else if (b && co) {
      setsum(true,led);
        return true;
    } else {
      setsum(false,led);
      return true;       
    }
  }
}

void loop(){
  bool number1[] = {digitalread(switch1), digitalread(switch2), digitalread(switch3), digitalread(switch4), digitalread(switch5), digitalread(switch6), digitalread(switch7), digitalread(switch8), digitalread(switch22), digitalread(switch23)}, /*lee los datos en los switches y los
                                                                                                              añade un arreglo para utilizarlos.*/
       number2[] = {digitalread(switch24), digitalread(switch25), digitalread(switch26), digitalread(switch27), digitalread(switch28), digitalread(switch29), digitalread(switch30), digitalread(switch31), digitalread(switch32), digitalread(switch33)};

  bool value1 = add(number1[0],number2[0],false,led1); /*se concatena el método "add" poniendo el acarreo que regresa el método
                                                        como argumento de la siguiente llamada al método "add"*/
  bool value2 = add(number1[1],number2[1],value1,led2);
  bool value3 = add(number1[2],number2[2],value2,led3);
                add(number1[3],number2[3],value3,led4);
 
}

el problema esta aquí:

switch33 = 33, en lugar de switch33 = 33;

fixed code:
code: [select]
int led1 = 4,  //se definen la ubicación de los 4 led que representan el resultado de la suma.
    led2 = 5,
    led3 = 6,
    led4 = 7;
int switch1 = 0, //se define la ubicación de los 8 switches que representan los números sumar.
    switch2 = 1,
    switch3 = 2,
    switch4 = 3,
    switch5 = 8,
    switch6 = 9,
    switch7 = 10,
    switch8 = 11,
    switch22 = 22,
    switch23 = 23,
    switch24 = 24,
    switch25 = 25,
    switch26 = 26,
    switch27 = 27,
    switch28 = 28,
    switch29 = 29,
    switch30 = 30,
    switch31 = 31,
    switch32 = 32,
    switch33 = 33;
 

void setup()
{
  pinmode(led1, output); //se inicializan los pines de salida para los led.
  pinmode(led2, output);
  pinmode(led3, output);
  pinmode(led4, output);

  pinmode(switch1, input_pullup); //se inicializan los pines de entrada para los switches.
  pinmode(switch2, input_pullup);
  pinmode(switch3, input_pullup);
  pinmode(switch4, input_pullup);
  pinmode(switch5, input_pullup);
  pinmode(switch6, input_pullup);
  pinmode(switch7, input_pullup);
  pinmode(switch8, input_pullup);
  pinmode(switch22, input_pullup);
  pinmode(switch23, input_pullup);
  pinmode(switch24, input_pullup);
  pinmode(switch25, input_pullup);
  pinmode(switch26, input_pullup);
  pinmode(switch27, input_pullup);
  pinmode(switch28, input_pullup);
  pinmode(switch29, input_pullup);
  pinmode(switch30, input_pullup);
  pinmode(switch31, input_pullup);
  pinmode(switch32, input_pullup);
  pinmode(switch33, input_pullup);
}

void setsum(bool state, int led){ /*función que recibe un estado booleano y el número de un led, enciende el led cuando el
                                  equivale true y lo apaga cuando equivale false. el estado que recibe lo
                                  determina el método "add".*/
  if (!state) {
    digitalwrite(led, low);
  } else {
    digitalwrite(led, high);
  }
}

bool add(bool a, bool b, bool co, int led) { /*función que recibe tres booleanos que representan los bits sumar y el acarreo
                                              con el que carga la suma. también recibe el número de un led.*/
  if (!a) {                                  /*con la tabla de verdad se separa los posibles resultados por casos y se evalua
                                              según los valores de las variables. tabla de verdad adjunta en el reporte.*/
    if(b && co) {                           
        setsum(false,led);
        return true;
    } else if (!b && !co){
      setsum(false,led);
        return false;       
    } else {
    setsum(true,led);
    return false;
    }
  }
  if (a) {
    if (!b && !co) {
      setsum(true,led);
        return false;
    } else if (b && co) {
      setsum(true,led);
        return true;
    } else {
      setsum(false,led);
      return true;       
    }
  }
}

void loop(){
  bool number1[] = {digitalread(switch1), digitalread(switch2), digitalread(switch3), digitalread(switch4), digitalread(switch5), digitalread(switch6), digitalread(switch7), digitalread(switch8), digitalread(switch22), digitalread(switch23)}, /*lee los datos en los switches y los
                                                                                                              añade un arreglo para utilizarlos.*/
       number2[] = {digitalread(switch24), digitalread(switch25), digitalread(switch26), digitalread(switch27), digitalread(switch28), digitalread(switch29), digitalread(switch30), digitalread(switch31), digitalread(switch32), digitalread(switch33)};

  bool value1 = add(number1[0],number2[0],false,led1); /*se concatena el método "add" poniendo el acarreo que regresa el método
                                                        como argumento de la siguiente llamada al método "add"*/
  bool value2 = add(number1[1],number2[1],value1,led2);
  bool value3 = add(number1[2],number2[2],value2,led3);
                add(number1[3],number2[3],value3,led4);
 
}


Arduino Forum > International > Español (Moderators: surbyte, Hector_A) > Estaba haciendo una sumadora, y me apareció este problema ayuda


arduino

Comments

Popular posts from this blog

Error compiling for board Arduino/Genuino Uno.

Installation database is corrupt

esp8266 (nodemcu 0.9) client.write très lent ???