Como chamar void X () a partir de condição no void loop?

Boa noite amigos, preciso de uma ajuda.

Como é possível no void loop com if, caso a condição de entrada de serial for verdadeira é iniciada outro void.

Fiz essa sketch

//

void setup() {
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
Serial.begin(9600);
Serial.println(5);
Serial.println(6);
Serial.println(7);
}

void loop(){
char c = Serial.read();
if ((Serial.available()) == 1)
void exec1();
if ((Serial.available()) == 2)
void exec2();
if ((Serial.available()) == 3)
void exec3();
}


void exec1(){
if ((digitalRead(5)) == 1)
digitalWrite(5, 0);
else {
digitalWrite(5, 1);
Serial.flush();
}
}

void exec2(){
if ((digitalRead(6)) == 1)
digitalWrite(6, 0);
else {
digitalWrite(6, 1);
Serial.flush();
}
}

void exec3(){
if ((digitalRead(7)) == 1)
digitalWrite(7, 0);
else {
digitalWrite(7, 1);
Serial.flush();
}
}

Ou seja, o void loop escuta a serial e caso o valor seja 1 ou 2 ou 3 é executada o void corrspondente

exec1 ou exec2 ou exec3.

Obrigado.

Exibições: 5870

Responder esta

Respostas a este tópico

Nesse link mostra como declarar e chamar funções em C

https://www.arduino.cc/en/Reference/FunctionDeclaration

faça apenas 1 função exec(int qualpino) e coloque antes do setup()

ao chamar a funçao, 

if ((Serial.available()) == 1) {
  void exec(5);

}

boa sorte,

  'Eiju

RSS

© 2021   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço