Referência da linguagem
Referencia da linguagem do Arduino
A linguagem utilizada no Arduino é baseada na linguagem C/C++ porém não é totalmente compatível pois os recursos do Arduino são limitados causando assim uma redução no set de instruções.
As funções foram desenvolvidas a partir das bibliotecas AVR Libc e permitem o uso das instruções contidas nela.
Parte dos programas do Arduino
Podemos dividir os programas do Arduino em 3 partes principais: Estruturas, variáveis (parâmetros e constantes) e funções.
Estrutura principal
Basicamente, a estrutura dos programas do Arduino se define nas 2 funções principais:
setup() - é executado somente uma vez, ao iniciar o Arduino. Sua função é a de preparar o Arduino
loop() - é executado repetidamente depois que o setup() foi executado. Somente para ao desligar o Arduino ou se travar
Sintaxe adicional
; (ponto e vírgula) - indica termino de uma expressão
bloco {...} (chaves) - indica um bloco de execução e contém uma ou várias instruções
// (comentário de linha restante) - inclui textos explicativos no código sem alterar o executável
/* */ (bloco de comentários) - inclui textos explicativos no código sem alterar o executável
#define - define um valor ou conjunto de valores
#include - inclui um arquivo neste ponto (arquivo contendo código C ou C++)
Estrutura de controle
if() - testa uma condição e define o que executar se (if) for verdade
if()...else - testa uma condição e define o que executar se (if) for verdade, senão (else) define também o que executar caso contrário
for() - define o que executar repetidamente (loop) para (for) atender uma condição
switch()...case - escolha (switch) o que executar conforme o caso (case)
while() - execute repetidamente (loop) enquanto (while) uma condição for verdadeira
do... while() - execute (do) repetidamente enquanto (while) uma consição for verdadeira
break - interrompa (break) uma execução dentro de uma repetição ou bloco de escolhas (switch)
continue - continue (continue) com a próxima repetição sem passar pelo resto da repetição atual
return - termine a execução atual e retorne (return) a execução de onde esta função ou bloco foi chamado
goto - vá para (goto) outro ponto de execução e continue de lá
Operadores aritméticos
= (operador de atribuição) - a variavel que está antes deste operador adota o resultado da expressão que está depois deste operador
+ (adição) -
- (subtração)
* (multiplicação)
/ (divisão)
% (módulo)
Operadores de comparação
== (é igual a)
!= (é diferente de)
< (é menor do que)
> (é maior do que)
<= (é menor ou igual a)
>= (é maior ou igual a)
Operadores booleanos
&& (and booleano)
|| (or booleano)
! (not booleano)
Operadores de acesso e ponteiros
* (operador para de-referencia) - ponteiro ao valor na memória
& (operador para referencia) - referencia ao endereço de um valor na memória
Operadores de movimentação de bits
& (operação and bit a bit)
| (operação or bit a bit)
^ (operação xor bit a bit)
~ (operação not bit a bit)
<< (deslocamento de bits a esquerda)
>> (deslocamento de bits a direita)
Operadores unários compostos
++ (incremento)
-- (decremento)
+= (adição composta)
-= (subtração composta)
*= (multiplicação composta)
/= (divisão composta)
%= (módulo composto)
&= (operação and bit a bit composta)
|= (operação or bit a bit composta)
Variáveis
Constantes
HIGH | LOW
INPUT | OUTPUT | INPUT_PULLUP
LED_BUILTIN
true | false
integer constants
floating point constants
Tipos de Dados
void
boolean
char
unsigned char
byte
int
unsigned int
word
long
unsigned long
short
float
double
string - char array
String - object
array
Conversores
char()
byte()
int()
word()
long()
float()
Escopo de Variáveis & Qualificadores
variable scope
static
volatile
const
Utilitários
sizeof()
PROGMEM
Funções
I/O Digital
pinMode()
digitalWrite()
digitalRead()
I/O Analógico
analogReference()
analogRead()
analogWrite() - PWM
Somente para Arduino Due & Zero
analogReadResolution()
analogWriteResolution()
I/O Avançado
tone()
noTone()
shiftOut()
shiftIn()
pulseIn()
Tempo
millis()
micros()
delay()
delayMicroseconds()
Matemática
min()
max()
abs()
constrain()
map()
pow()
sqrt()
Trigonometria
sin()
cos()
tan()
Caracteres
isAlphaNumeric()
isAlpha()
isAscii()
isWhitespace()
isControl()
isDigit()
isGraph()
isLowerCase()
isPrintable()
isPunct()
isSpace()
isUpperCase()
isHexadecimalDigit()
Números Aleatórios
randomSeed()
random()
Bits e Bytes
lowByte()
highByte()
bitRead()
bitWrite()
bitSet()
bitClear()
bit()
Interrupções Externas
attachInterrupt()
detachInterrupt()
Interrupções
interrupts()
noInterrupts()
Communicação
Serial
Stream
USB (somente para placas baseadas no 32u4 e Due/Zero)
Keyboard
Mouse
Retornar para a página do Arduino
As informações acima foram compiladas a partir do site Arduino.cc e os códigos de exemplos são considerados de domínio público.
Por favor, se por acaso encontrar algum erro ou quizer sugerir alguma melhoria, copie o endereço desta página e envie o formulário na página de Contato escolhendo o assunto desejado.