Boa tarde, não compreendi completamente porque é preciso atribuir um parâmetro na função void piscaLed()
com um nome distinto do declarado na contanste #define
.
Neste trecho do código: void piscaLed(int portaLed)
, a variável int portaLed
tem a função de acessar a porta número 2, definida lá em cima, no escopo global, da constante #define LED_VERMELHO 2
, certo?
E porque um nome distinto? Fiz o teste e vi que própria sintaxe da linguagem não permite isto acontecer.
//int ledVerm = 2;
#define LED_VERMELHO 2
#define UM_SEGUNDO 1000
#define MEIO_SEGUNDO 500
void setup() {
// put your setup code here, to run once:
Serial.begin (9600);
pinMode (LED_VERMELHO, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
Serial.println(LED_VERMELHO);
piscaLed(LED_VERMELHO);
}
//imagine que aqui seja colocada a constante LED_VERMELHO
void piscaLed(int portaLed){
digitalWrite(portaLed, HIGH);
delay(UM_SEGUNDO);
digitalWrite(portaLed, LOW);
delay(MEIO_SEGUNDO);
}