Tutorial 2 sobre como escrever uma função personalizada para placas Intel® Galileo

Documentação

Instalação e configuração

000006605

18/03/2022

Até agora, temos escrito nosso código dentro das funções de configuração e loop. Isso está perfeitamente bem. Mas e se seu programa tivesse muita lógica complexa? Como você organizaria seu código?

Há uma arte para programar e ela começa com saber onde colocar seu código.

A codificação pode ficar complicada às vezes. Se você já leu algum código de código aberto, você pode encontrar algum código que:

  • falta de comentários: incluindo comentários ajuda você e quem estiver lendo entender o que está acontecendo
  • a lógica não está organizada: organizar seu código em blocos lógicos ajuda a depuração e manutenção de código
  • nomes são enganoso: nomes de variáveis e funções devem descrever corretamente o que eles pretendem fazer
  • inteligência sobre a clareza: o código deve ser facilmente lido; tente não ser enigmático no que você está tentando realizar

 

Programas em qualquer idioma podem ser escritos e organizados, no entanto, o programador vê adequado. Isso é bom se você for o único lendo seu código. No entanto, se você estiver trabalhando em uma equipe, é importante fornecer algumas diretrizes que todos seguem. Um dia, o código que você escreve precisará ser atualizado e lido por outras pessoas. Escrever um código organizado e praticar práticas comuns de codificação ajudará você e seu colega engenheiro a escrever um código bonito.

Para obter dicas sobre como melhorar seu estilo de codificação, confira o guia de estilo de codificação C++ do Google.

Há dois tipos de funções:

  • Executa instruções e não retorna nenhum valor (tipo vazio)
  • Executa instruções e devolve um valor (os tipos incluem int, float, duplo)

Consulte mais na seção Tipos de Dados na página de referência arduino.

Tipos de função

Type void:
void sayHello(){
Serial.println("Hello!");
}

Type integer:
int theAnswerToTheUltimateQuestionOfLifeTheUniverseAndEverything(){
return 42;
}

We can assign the value of functions that return something to variables:
int myAnswer = theAnswerToTheUltimateQuestionOfLifeTheUniverseAndEverything();

Digamos que queríamos tornar uma função um pouco mais útil. Podemos usar parâmetros de função para passar dados exclusivos que afetarão o resultado da função. Por exemplo:
int add(int x, int y){
return x + y;
}

Chamamos essa função, passando parâmetros personalizados assim:
int numbersAdded = add(2, 2); // The variable numbersAdded is equal to 4

Há uma variedade de maneiras que você pode escrever uma função. Tudo depende do que você quer que ele faça. Um bom lugar para começar a escrever uma função personalizada é definir a assinatura da função.

Assinatura da função
Antes de escrever o código de uma função, é melhor determinar o que você está tentando realizar.

  • Ele devolverá um valor?
  • Quantos parâmetros serão passados para ele (se houver)?
  • Qual é o propósito da função?

Vamos fingir que você está escrevendo um programa que fornece uma mensagem personalizada para o monitor serial. Esta mensagem comentará sobre o tempo (que pode ser baseado em um sensor de temperatura, por exemplo).

Você ainda não sabe como é o código dentro da função, mas sabe o que quer que ele faça:

  • Tome dois parâmetros personalizados para concatenar (ou juntar) juntos
  • Pegue um número de tipo Duplo que se anexará à mensagem
  • Não devolve um valor
  • A saída do monitor serial imprimiria "Está 30 graus fora".

Nossa assinatura pode parecer algo assim:
void myMessage (String msg1, String msg2, double deg){}

Chamar a função seria algo como:
Os graus aqui seriam uma variável predefinida com base em uma leitura do sensor de temperatura.
myMessage("É", graus, "fora");

Desafio
Como você escreveria o código para concluir a tarefa desta função?