Hola Amigos
Tengo la siguiente consulta, en este código intento generar la condición de inicio en un bus I2C, notaran que subo un pin de control el bit 7 del puertoB para bajarlo luego de que la secuencia se completó, pues ESO NUNCA SUCEDE y no se porqué no puedo generar la condición de inicio
,---------------------------------------------------------------------------------------
Send_Start bcf PIR1,SSPIF
bsf STATUS,RP0 ;Seleciona página 1
bsf SSPCON2,SEN ;Activa secuencia de inicio
bsf STATUS,RP0
bsf PORTB,7
Start_Wait btfss PIR1,SSPIF ;Fin de secuencia de inicio ??
goto Start_Wait ;No, esperar
bcf PORTB,7
return
;----------------------------------------------------------------------------------------
La configuración del bus la tengo así:
Inicio clrf PORTC
bsf STATUS,RP0 ;Selecciona banco 1
movlw b'11111111'
movwf TRISC ;RC3/SCL y RC4/SDA entradas (como salidas se comporta igual)
movlw 0x00
movwf TRISB ;puerto B como salida
movlw b'10000000'
movwf SSPSTAT ;Velocidad estándar con niveles I2C
movlw .9
movwf SSPADD ;Velocidad de 100KHz
bcf STATUS,RP0 ;Selecciona banco 0
clrf PORTB
;Módulo MSSP en el modo Master I2C
movlw b'00101000'
movwf SSPCON ;Módulo MSSP en On
etc etc
;-----------------------------------------------------------------------------------------
Si alguien tiene alguna sugerencia lo agradeceré porque realmente no se el motivo del NO FUNCIONAMIENTO.
Gracias a todos por su tiempo.