Página 1 de 1

i2c nunca livre

MensagemEnviado: 01 Jun 2007 05:08
por icaro51
Estou tentando fazer um programa que le dados de um sensor i2c mas assim que eu envio o dado o i2c nunca fica livre.
Estou fazendo assim:

BSF SSPCON2,SEN ;Mando o Bit de Start

BANK1
BTFSC SSPSTAT,R_W ;Aqui so espero a i2c estar livre
GOTO $-1
MOVF SSPCON2,W
ANDLW B'00011111' ;Aqui mascaro ele de volta
BTFSS STATUS,Z
GOTO $-3
BANK0

MOVLW b'00000101' ;Esse e o dado que o sensor esta esperando
MOVWF SSPBUF

BANK1
BTFSC SSPSTAT,R_W ;Aqui espero a i2c livre outra vez mas isso nunca acontece
GOTO $-1
MOVF SSPCON2,W
ANDLW B'00011111'
BTFSS STATUS,Z
GOTO $-3
BANK0

BANK1 ;Aqui seria para ler mas o programa trava em cima
BSF SSPCON2,RCEN
BANK0

BANK1
BTFSC SSPSTAT,R_W
GOTO $-1
MOVF SSPCON2,W
ANDLW B'00011111'
BTFSS STATUS,Z
GOTO $-3
BANK0

MOVF SSPBUF,W

Alguem sabe me dizer o que esta acontecendo, enquanto eu ainda tenho cabelo!

MensagemEnviado: 01 Jun 2007 07:53
por fabim
MOVF SSPCON2,W
ANDLW B'00011111' ;Aqui mascaro ele de volta
BTFSS STATUS,Z


Vc perdeu esta aula...


se vc quer testar pra saber se é igual ?


FAbim

MensagemEnviado: 02 Jun 2007 00:21
por icaro51
Nao perdi a aula nao o protocolo i2c que eu implementei ta funcionando direitinho, eu resolvi tirar o sensor e colocar uma e2prom e pronto funcionou legal, depois de reler a documentacao do sensor eu descobri que apesar do protocolo ser quase identico ao i2c infelizmente ele nao e compativel, por isso o problema.
Desculpa o engano, fica ai um exemplo de i2c para quem precisar.