; (ponto e vírgula)
Usada para terminar uma sentença.
Exemplo
int a = 13;
Exemplo
int a = 13;
Dica
Esquecer de finalizar uma linha com ponto e vírgula causa um erro de compilação. O texto sobre o erro pode ser óbvio e se referir a um ponto e vírgula faltando, ou não. Se ocorrer um erro de compilação impenetrável ou aparenetemente ilógico uma das primeiras coisas a checar é um ponto e vírgula faltando na vizinhança, precedendo a linha indicada pelo compilador.
{} (chaves)
Sentenças condicionais
// (comentarios)
{} (chaves)
Chaves são uma parte essencial da linguagem de programação C. Elas são usadas em muitas construções diferentes, descritas abaixo, e isto pode algumas vezes ser confuso para iniciantes.
Uma chave abrindo "{" deve sempre ser seguida por uma fechando "}". Frequentemente nos referimos a esta condição como equilibrio entre as chaves. A IDE (integrated development environment ou ambiente de desenvolvimento integrado) do Arduino inclui uma característica prática para checar o equilibrio das chaves. Apenas com o selecionar de uma chave ou clicar no ponto imediatamente posterior faz com que sua companheira lógica seja destacada.
No presente momento esta característica é um pouco defeituosa e a IDE frequentemente encontrará (incorretamente) uma chave em um bloco de texto que tenha sido comentado.
Programadores principiantes e programadores vindos das linguagens C e do BASIC frequentemente consideram o uso das chaves confuso ou desalentador. Afinal as mesmas chaves substituem a sentença RETURN em uma subrotina(função), a sentença ENDIF em uma condicional e a sentença NEXT em um FOR.
Por que o uso das chaves é tão variado, é uma boa prática de programação digitar o fecha-chaves "}" logo após digitar o abre-chaves "{" quando estiver fazendo uma construção que as requer. Inserte então alguns "ENTER" entre as chaves e comece a digitar o código. Agindo assim suas chaves nunca ficarão desequilibradas.
Chaves desequilibradas causam erros de comilação bastante enigmáticos e que podem ser difíceis de rastrear em um programa longo. Por causa de seus usos variados, as chaves são também incrivelmente importantes para a sintaxe de um programa e mover uma chave uma ou duas linhas pode alterar completamente o seu significado.
Os principais usos das chaves
Funções
void myfunction(datatype argument){
sentença(s)
}
Loops
while (expressão booleana)
{
sentença(s)
}
do
{
sentença(s)
} while (expressão booleana);
for (inicialização; condição de término; expressão de incremento)
{
sentença(s)
}
Sentenças condicionais
if (expressão booleana)
{
sentença(s)
}
else if (expressão booleana)
{
sentença(s)
}
else
{
sentença(s)
}// (comentarios)
Comentários são linhas no programa que são usados para informar a você mesmo ou outras pessoas sobre o modo como o progama trabalha. Elas são ignoradas pelo compilador e não são exportadas para o processador e portanto não ocupam a memória do chip ATmega.
O único propósito dos comentários são ajudar a entender (ou relembrar) como o programa funciona. Há dois modos diferentes de marcar uma linha como um comentário.
Exemplo
x = 5; // Esta é uma linha simples de comentário. Qualquer coisa depois das barras é um comentário // até o fim da linha /* este é um bloco de comentário - usado para "comentar" blocos inteiros de código if (gwb == 0){ // não há problema em uma linha simples dentro de um bloco de comentário x = 3; /* mas outro bloco de comentário é inválido */ } // não esqueça de fechar o bloco de comentário, eles têm que ser equilibrados */
Dica
Quando estiver experimentando com o código "comentar" partes do programa é um modo conveniente de remover linhas que podem conter problemas. Este procedimento mantém as linhas no código mas as trasnforma em comentários de modo que o compilador as ignora. Isto pode ser especialmente útil quando tentamos localizar um problema, ou quando um programa apresenta erros de compilação cujas explicações são obscuras ou inúteis.
/* */ (Bloco de Comentarios)
/* */ (Bloco de Comentarios)
Comentários são linhas no programa que são usados para informar a você mesmo ou outras pessoas sobre o modo como o progama trabalha. Elas são ignoradas pelo compilador e não são exportadas para o processador e portanto não ocupam a memória do chip ATmega.
O único propósito dos comentários são ajudar a entender (ou relembrar) como o programa funciona. Há dois modos diferentes de marcar uma linha como um comentário.
Exemplo
x = 5; // Esta é uma linha simples de comentário. Qualquer coisa depois das barras é um comentário
// até o fim da linha
/* este é um bloco de comentário - usado para "comentar" blocos inteiros de código
if (gwb == 0){ // não há problema em uma linha simples dentro de um bloco de comentário
x = 3; /* mas outro bloco de comentário é inválido */
}
// não esqueça de fechar o bloco de comentário, eles têm que ser equilibrados
*/
Dica
Quando estiver experimentando com o código "comentar" partes do programa é um modo conveniente de remover linhas que podem conter problemas. Este procedimento mantém as linhas no código mas as trasnforma em comentários de modo que o compilador as ignora. Isto pode ser especialmente útil quando tentamos localizar um problema, ou quando um programa apresenta erros de compilação cujas explicações são obscuras ou inúteis.
#define
é um componente muito útil da linguagem C que permite ao programador dar um nome a uma constatnte antes que o programa seja compilado. Constantes definidas no Arduino não ocupam espaço em memória no chip. O compilador substitui referêancias a estas constantes pelo valor definido no momento da compilação.
#include
#define
é um componente muito útil da linguagem C que permite ao programador dar um nome a uma constatnte antes que o programa seja compilado. Constantes definidas no Arduino não ocupam espaço em memória no chip. O compilador substitui referêancias a estas constantes pelo valor definido no momento da compilação.
Isto pode causar alguns efeitos indesejáveis se, por exemplo, um nome de constante que tenha sido defindo por um #define é incluido em alguma outra constante ou nome de variável. Neste caso o texto deve ser substituido pelo valor (ou texto) do #define.
Em geral, a palavra chave const é preferível para definir constatntes e deve ser usada ao invés de #define.
A sintaxe do #define na linguagem Arduino é a mesma da linguagem C:
Sintaxe
#define nomeDeConstante valorVerifique que o # é necessário.
Exemplo
#define ledPin 3
// O compilador vai substituir quanquer menção a ledPin pelo valor 3 no momento da compilação.
Dica
Não há ponto e vírgula após a declaração #define. Se você incluir um o compilador vai lançar erros críticos no final do programa.
#define ledPin 3; // isto é um erro
Do mesmo modo o compilador gerará erros se após o #define houver um =.
#define ledPin = 3 // isto também é um erro#include
é usado para incluir outras bibliotecas no seu programa. Isto permite ao programador acessar um grande número de bibliotecas padrão da linguagem C (grupos de funções pré-definidas), e também à bibliotecas desenvolvidas especificamente para o Arduino.
A página principal de referência para as bibliotecas C AVR (AVR é a referência aos chips Atmel nos quais o Arduino está baseado) está aqui.
Verifique que #include, de modo similar ao #define, não leva ponto e vírgula no final.
Exemplo
Este exemplo inclui uma biblioteca que é utilizada para armazenar dados na memória flash ao invés de na ram. Isto economiza espaço na ram para as necessidades de memória dinâmica e torna o uso de grandes tabelas mais prático.
#include
prog_uint16_t myConstants[] PROGMEM = {0, 21140, 702 , 9128, 0, 25764, 8456,
0,0,0,0,0,0,0,0,29810,8968,29762,29762,4500};
0 comentários:
Postar um comentário