[RESOLVIDO] - PIC12F629 nao le o pino GP0

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

[RESOLVIDO] - PIC12F629 nao le o pino GP0

Mensagempor fmaesso » 16 Dez 2013 16:47

Olá a todos!
É a primeira vez que uso PIC e tô apanhando. Pus o PIC para ler o pino GP0 e quando ele mudar de estado deveria mudar o estado dos pinos GP2 e GP4. A tensão no GP0 é de 4V quando inativo e 0 quando ativo. A alimentação é de 5V. A verificação está dentro do loop, mas não consigo fazer o pino sentir a mudança de baixo para alto. Ele sempre vê como se o pino estivesse em zero. Pus o GP1 para rastrear o funcionamento.


cpp code
void main(void){
TRISIO = 0b001001;
OPTION_REG = 0b00000000;
CMCON = 0x00;
INTCON |= 0xA8;
OPTION_REG |= 0x06;

for(;;){
if(GP0 == 0){
V++;
GP1 = V & 0x01;
__delay_ms(200);
GP2 = 1;
GP4 = 0
}else{
GP1 = 0;
GP2 = 0;
GP4 = 1;
}
}
}


Pode ser que o nivel de 4V na pino não seja suficiente? Tem que setar mais alguma coisa pra ler? tem que ler o pino de outra forma? Os exemplos que vi, fazem a leitura direta do pino! Tô usando o MPLAB X com o compilador X8.

Obrigado!
Editado pela última vez por fmaesso em 17 Dez 2013 10:31, em um total de 1 vez.
fmaesso
Bit
 
Mensagens: 17
Registrado em: 16 Nov 2006 17:21

Re: PIC12F629 nao le o pino GP0

Mensagempor andre_luis » 16 Dez 2013 18:11

Pra saber se o problema está na entrada ou saída, compila setando e ressetando incondicionalmente essas saídas 2 e 4.


+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Re: PIC12F629 nao le o pino GP0

Mensagempor fmaesso » 16 Dez 2013 19:23

Olá André!
Valeu cara! Troquei o GP0 por uma variavel e fixei o valor, compilei 2 vezes uma com a variavel em 0 e outra em 1, as saidas se comportaram direitinho. O problema tá mesmo na entrada GP0. Ele está com um pullup de 1K e mesmo colocando um curto para o terra, nao vai.
fmaesso
Bit
 
Mensagens: 17
Registrado em: 16 Nov 2006 17:21

Re: PIC12F629 nao le o pino GP0

Mensagempor andre_luis » 16 Dez 2013 19:37

Não esqueçe de desabilitar as entradas analógicas...
A propósito, que compilador voce está usando ?


+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Re: PIC12F629 nao le o pino GP0

Mensagempor fmaesso » 16 Dez 2013 19:44

Tô usando o MPLAB X com o XC8. Quem desabilita as entradas analógicas não é o CMCON? Já pus em 0. Tem outro? Pelo que vi, o ANSEL é só para o 12F675.
fmaesso
Bit
 
Mensagens: 17
Registrado em: 16 Nov 2006 17:21

Re: PIC12F629 nao le o pino GP0

Mensagempor andre_luis » 16 Dez 2013 19:59

É realmente estamos ficando sem opções, antes de condenar o compilador ou o microcontrolador.
Bom, então experimenta desabilitar o pullup interno, pode ser que esteja influenciando de algum modo no casamento com a impedancia externa.

+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Re: PIC12F629 nao le o pino GP0

Mensagempor fmaesso » 16 Dez 2013 20:22

Macumba! Desliguei os pullups (INTCON |= 0x80) , mas nada! Troquei o processador. Mesma coisa.
fmaesso
Bit
 
Mensagens: 17
Registrado em: 16 Nov 2006 17:21

Re: PIC12F629 nao le o pino GP0

Mensagempor fmaesso » 17 Dez 2013 10:30

aha! O bixo estranho. Tem que setar o Comparador (CMCON = 0x04; GP0 como entrada digital). Pronto. Tá OK.
Obrigado!
fmaesso
Bit
 
Mensagens: 17
Registrado em: 16 Nov 2006 17:21


Voltar para PIC

Quem está online

Usuários navegando neste fórum: Google [Bot] e 1 visitante

x