Página 1 de 1

Complemento de I/O

MensagemEnviado: 30 Nov 2006 08:52
por Zudo
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...

MensagemEnviado: 30 Nov 2006 10:53
por Maurício
experimenta isto.

#define PINO PORTD.0

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

[]'s

RETI.

MensagemEnviado: 02 Dez 2006 13:42
por MaxOliver
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