Complemento de I/O

Software e Hardware para ATMEL

Moderadores: 51, guest2003, brasilma

Complemento de I/O

Mensagempor Zudo » 30 Nov 2006 08:52

Alguem tem uma forma pequena de complementar um pino do portd no atemaga 16?

Tks

Desculpe não ser claro..

Eu gostaria de um explicação rapida (se possivel) de como fazer o complemento de um Pino no PIND0 em C. Entendendo o que deve ser feito mas não estou conseguindo....

Tks


TKS...
Editado pela última vez por Zudo em 30 Nov 2006 12:02, em um total de 1 vez.
Zudo
 
Mensagens: 1
Registrado em: 29 Nov 2006 18:29

Mensagempor Maurício » 30 Nov 2006 10:53

experimenta isto.

#define PINO PORTD.0

void main ( void )
{
while ( 1 ) PINO = ~PINO;
}

[]'s

RETI.
"Não leve a vida tão à sério, afinal, nenhum de nós sairá vivo, dela!"
Avatar do usuário
Maurício
Word
 
Mensagens: 678
Registrado em: 14 Out 2006 17:23
Localização: São Paulo - SP

Mensagempor MaxOliver » 02 Dez 2006 13:42

Maurício escreveu:experimenta isto.

#define PINO PORTD.0

void main ( void )
{
while ( 1 ) PINO = ~PINO;
}

[]'s

RETI.


Cuidado, esse tipo de acesso as portas é em Codevision.

Para WinAvr ou AVRGCC muda um pouco.

Alem disso temos de definir antes a direcao de dados da porta atraves do DDRx. Se é de entrada ou saida, com pullup ou nao...

E via de regra devemos ler a porta atraves de uma interface PIN e escrever atraves do PORT.

Ou seja para ler:

x = PINA && 01 // ler a porta A e selecionar o pino 1

Para escrever:

PORTA = 1<<PA1 // escreve 1 no bit 1 da porta A


[]s

Max
MaxOliver
Bit
 
Mensagens: 28
Registrado em: 19 Out 2006 19:52


Voltar para AVR

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x