/*
FUNÇÕES
SEM RETORNO
COM RETORNO
COM PARÂMETRO
COM PARÂMETRO DE PONTEIRO
FUNCÇÕES RECURSIVAS
FUNÇÃO COM PARAMETRO DE FUNÇÃO
FUNÇÕES LAMBDA
USING FUNC=VOID();
TYPEDF VOID(FUNC) (VOID);
TYPEDEF VOID FUNC();
USING FUNC = INT(INT*,INT*);
TYPEDEF INT (FUNC) (INT* A , INT* B);
Função é uma lei matematica, uma associção de um elemento de entrada com um elemento de saida.
*/
//======= DEFINIR PINOS ============
//========== VÁRAVEIS E TABELAS ========
int i=15;
//============ FUNÇÕES =================
void pfunc(){ //função void(vazio), é uma função sem retorno.
Serial.print("Teste funçãoo,um emaranhando de código que é apenas executado quando chamado.");
}
int pfuncR(){ //Função com return.
int a =2, b=4;
return a*b;
}
void pfuncP(int i, bool f){ //Função com parâmetro.
int p= 2;
Serial.println(i*p);
}
int calculo(int a, int b){ // função return com parâmetro.
return a+b;
}
void pfuncPP(int *p){ // Função com parâmetro de ponteiro.
*p= 16;
Serial.print("O ponteiro é: ");
Serial.println(*p);
Serial.print("A váriavel mudada é: ");
Serial.println(i);
}
void pfuncRR(){
Serial.println("Recursiva");
pfuncRR();
}
//========== BIBLIOTECAS ==========
//======== SETUP ==================
void setup(){
Serial.begin(9600);
int call= pfuncR();
int valor= calculo(50,40);
//pfunc(); chama a função void pfunc
//Serial.println(call); chama a função com retorno recebido pela variavel call
//Serial.println(valor);
pfuncP(15,true);
pfuncPP(&i);
pfuncRR();
//========== CONDIÇÕES INICIAIS ==============
}
//=========== LOOP INFINITO ===================
void loop(){
}