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:
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
Post a Comment