Show Posts
Pages: [1]
1  International / Portugues / Re: Acionar portas digitais simultaneamente on: October 29, 2012, 02:29:34 pm
Obrigado Bubulindo, vou continuar os trabalhos e pesquisar suas considerações e qquer coisa volto a postar. mto obrigado
2  International / Portugues / Re: Acionar portas digitais simultaneamente on: October 27, 2012, 06:54:40 pm
Hugo e Bubulindo, boa noite.
Em primeiro lugar obrigado pela resposta.

Hugo, o acionamento direto eu estou entendendo como funciona, bem como o digitalWrite. Como o Bubulindo disse, o digitalWrite é lento em alguns casos. Independentemente da velocidade de acionamento, trabalhando com muitas portas o acionamento simultaneo depois de declarar portas economizariam muitas linhas de código, principalmente em tarefas repetitivas.
Estou trabalhando em um projeto de automação com motores de passo, e sincronia é muito importante, por isso tal necessidade.

Acho que minha duvida é mais uma questão de sintaxe.
Imagine que tenho duas portas em blocos diferentes do Arduino, a 1 e a 9 por exemplo:

PORTD = B0000001 //hipoteticamente a digital port 1
PORTE = B0000010 //hipoteticamente a digital port 9

Existe uma maneira de eu declarar uma variavel chamada X, que contenha duas portas de blocos diferentes (1 e 9) e fazer um especie de:

x = ((PORTD = B0000001) (PORTE = B00000010)); //declaração de variavel
e depois aciona-las simplesmente digitando:
x; //acionamento da variavel ligando as portas 1 e 9

Porque se fossem do mesmo PORT, tudo bem, seria só colocar o "1" no lugar certo. Mas sendo de dois PORTs diferentes, nao sei como fazer.

Desde já agradeço.
3  International / Portugues / Acionar portas digitais simultaneamente on: October 26, 2012, 12:47:52 pm
Pessoal, boa tarde.
Estou iniciando meus trabalhos com o Arduino e ja esbarrei numa dificuldade.
Tenho a necessidade de criar uma variavel (provavelmente seja uma variavel) para executar a ação de HIGH ou LOW simultaneamente em mais de uma porta. Ja li sobre acessar portas diretamente (PORTx) e funcionou, ate que precisei usar portas de dois blocos diferentes (ex.: PORTE e PORTG), entao acho que nao estou conseguindo trabalhar com operadores mesmo.

Supondo os exemplos abaixo, quais minhas opções para fazer os cenarios funcioarem?
cenário 1:
byte led1 = 1
byte led2 = 2
digitalWrite ("o que", HIGH) para ligar ambos os leds?

e no caso de acessar diretamente:
Se o led1 esta no PORTE, por exemplo: PORTE = B00000001
e o led2 esta no PORTG: PORTG = B00110000

Ja busquei sobre soma de variaveis, array, etc.. mas ta tudo muito nebuloso ainda.
Desde já agradeço qualquer ajuda
Jackson - jacksonrb@gmail.com
Pages: [1]