Ir ao conteúdo

Posts recomendados

Postado

Estou estudando os comandos PORT do arduino mega...e encontrei a seguinte tabela:

https://www.arduino.cc/en/Hacking/PinMapping2560

Estou certo em pensar que esta tabela funciona da seguinte forma:

por exemplo:

na linha (72)

(PA6) seria o pino 6 do PORTA

e estaria localizado no pino A6 da placa? fiquei em dúvida em qual pino representa na placa...

 

alguém tem alguma lista mais simples destes PORTs?

Obrigado.

Postado

Obrigado pela resposta.

Estou tentando localizar os ports para usar aqueles comandos que lê vários pinos ao mesmo tempo...

acho que seria aqueles em amarelo claro na imagem que você passou... certo?

 

obrigado.

  • Curtir 1
  • Membro VIP
Postado
14 horas atrás, Blumer Celta disse:

comandos que lê vários pinos ao mesmo tempo.

Quais são? Em c é apenas:

a=PORTA; //lê 8 pinos

No arduino, algo como:

a=digitalread(PA0) | digitalread(PA1)<<1 | digitalread(PA2)<<2 | digitalread(PA3)<<3 | digitalread(PA4)<<4 | digitalread(PA5)<<5 | digitalread(PA6)<<6 | digitalread(PA7)<<7

...pode resolver. Apesar de aparentemente tosco e ineficiente, há a vantagem que você pode compor o dado a partir de qualquer pino mesmo de ports diferentes.

  • Curtir 2
Postado

Estou conseguindo utilizar através dos comandos abaixo...

A imagem aqui fornecida ajudou bastante para mapear os pinos (realmente são os amarelos na imagem).

//exemplos de comandos 
  DDRB = 0x00; // All pins in PORTD are inputs
  DDRB = 0b11111111; // All pins in PORTD are OUTPUTS
  //PORTB = 0xFF;    // Pull-ups enabled in all pins at PORTD


//pisca o led da placa
PORTB = 0b11111111;
//delay(x);
PORTB = 0b01111111;
//delay(x);

  Serial.println(PINB, HEX);
  Serial.println(PINB, BIN);

Isadora, vi que seu comando mistura as portas...

Meu motivo para usar os PORTS seria a velocidade... ficar lendo os pinos um a um estava ficando lento para meus códigos...

Se usar o seu CODE (que mistura as portas) será que terei a mesma velocidade que ao ler as portas ordenadas como estou fazendo agora com os exemplos aqui mencionados?

 

Obrigado.

  • Membro VIP
Postado

Nem tirou habilitação ainda e já pensa em velocidade?... E como percebeu isso? O led 'pisca mais lento' é? 😁

 

Sim de fato ao manipular pino a pino há menor rendimento. Confirme isso dando uma olhada rápida no assembly do código.

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!