Hola a todos. Hará cosa de un mes compre un modulo SRF08, el cual no he conseguido hacerlo funcionar hasta el momento. El módulo funciona con el protocolo I2C.
Para el control del modulo utilizo un PIC16F873. Las rutinas de Start, Stop , envío de byte, lectura de byte, etc, así como las configuraciones previas funcionan correctamente ya que las he probado en el Pic traier-Plus y funcionan correctamente.
También he colocado las resistencias pull-up de 4k7 entre +V y las líneas SCL y SDA.
Hasta aquí creo que va todo correcto, por lo que he decidido colgar la parte de asm donde realizo la comunicación con el SRF08 para la lectura continua del valor de la LDR para ver si alguien me puede ayudar a ver donde fallo.
Codigo:
;Programa.------------------------------
BUCLE clrwdt
call dly70 ;Delay de 70ms
call dly70
call dly70
call S_START
movlw 0xE0 ;Dirección del modulo en Modo ESCRITURA
call S_BYTE
movlw 0x00 ;Registro
call S_BYTE
movlw 0x51 ;Comando (medición en cm)
call S_BYTE
call S_STOP
clrwdt
call dly70
call dly70
call dly70
call S_START
movlw 0xE0 ;Dirección del modulo en Modo ESCRITURA
call S_BYTE
movlw 0x01 ;Registro a leer (LDR)
call S_BYTE
call S_START
movlw 0xE1 ;Dirección del modulo en Modo LECTURA
call S_BYTE
call R_BYTE <----
call S_STOP
movwf PB ;Mueve el valor de la LDR al PB
goto BUCLE
Creo que se queda colgado por la parte donde he puesto la flecha
GRACIAS POR ADELANTADO.