rcakto escreveu:isto está certo??
e o caso do IODIR?? colocando 1 no bit ele esta em modo saida e 0 ele esta em modo entrada, como eu mudo 0 e um simples como o (1<<bit)??
Alguem ae poderia me responder ???
PS.: antes de mais nada... OBRIGADO PELA AJUDA DE TODOS VOCES!!!
Bem, quando vc faz
- Código: Selecionar todos
IODIR = (1<<BIT);
vc configura a porta relativa ao bit como saída, e como consequencia as outras como entrada.
Se quiser configurar mais de uma porta como saída ao mesmo tempo, pode fazer com a logica OR assim:
- Código: Selecionar todos
IODIR = (1<<BITx) | (1<<BITy);
Agora se quer voltar a porta/bit x para entrada, mas só ela, faça assim:
- Código: Selecionar todos
IODIR = IODIR & ~(1<<BITx);
ou isso que é a mesma coisa:
- Código: Selecionar todos
IODIR &= ~(1<<BITx);
De forma analoga, vc pode reconfigura-la como saída novamente:
- Código: Selecionar todos
IODIR |= (1<<BITx);
Mas aconselho estudar sobre logica binaria, deslocamento binario, algebra booleana, ... ai fica tudo mais claro.
Os homens mentiriam muito menos se as mulheres fizessem menos perguntas.