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.