pessoal estou com uma dificuldade para fazer uma leitura das entradas e saidas do micro. vo explicar:

preciso ler um port inteiro do pic e  saber quais saidas estao ligadas e salvar o valor do port em uma variável porque quando eu precisar usar a variável vamos saber quais saídas estavam acionadas ok!

Exibições: 430

Responder esta

Respostas a este tópico

#include <pins_arduino.h>         

// PORTxn -> se input pull-up activation        1 = ON          0 = OFF
//                  se output pin level                   1 = HIGH       0 = LOW
// PINxn -> leitura de port

unsigned char imagem_portB;             // replicar para PORTC e PORTD

void loop(void)
{
imagem_portB =  PINB;                   // salvando
PORTB            = imagem_portB;     // restaurando


          // pisca led do UNO acionando port direto
if (PINB & 0x20)      {   PORTB = PINB  &  0xdf;   }
else                       {   PORTB = PINB   |   0x20;  }
delay(500);
}

 valter muito obrigado pela explicação  mais ai você vai salvar o nível de um pino, e a intenção e salvar todas as saídas que estiverem acionadas entendeu,não sei como fazer mais sei a logica e o seguinte:

tenho 8 saídas, dessas 8 saídas tenho 6 saídas acionadas vou dar um comando para salvar as 6 em uma variável

e quando eu chamar a variável elas vão ser acionadas novamente entendeu!!!

Oi Hebert,  acho que fazendo OR resolverá.

imagem_portB =  PINB;                   // salvando na char  imagem_portB os 8 bits do port B


PORTB            = PINB  | imagem_portB;   // seta todos os bits que já estavam setados anteriormente

Valter muito bom mais ainda não resolve acho que tenho uma ideia só não sei como fazer acho que se usarmos o comando de byte do portb vai dar certo, porque ai vamos ler o byte do portb que tem 8 bits e salvar ele na variável entendeu!!

ai pessoal valeu pelo apoio mais ja resolvi meu problema aqui valeu!!

seria interessante postar como resolveu essa situacao! abraço

resolvi da seguinte forma, eu só precisava de um comando para setar o bit de um byte da variável tipo

bit_set(variável,1);

ai eu consegui seta somente o bit 1 da variável e é só isso.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço