IEeeeeeeeeeeeah!!! donde esta el post???? Aqui falta un post!!!!!!
. Bueno supongo que algun error de mi@ habra acabado con el..... Volvere a escribirlo...
Bueno, almacenar los datos es simple, se haria un buffer de x posiciones, tantas como quepan en la ram sobrabte del pic o algunas menos, esto en c se hace un array de x elementos y solucionado. Para saber cuando hay que parar de escribir se miraria el ultimo elemento del array y si es distindo de 0 es que ya estan todos escritos, este seria el momento de guardar los datos en la eeprom si se desea.
Habria que detectar las condiciones de start, stop, y el bit de ACK. Para detectar estas condiciones no se si seria factible hacerlo de esta forma.
Habria que usar el modulo ssp del pic con su correspondiente interrupcion. Al entrar en la interrupcion se tendria que mirar el valor de los siguientes bits:
el bit 3 del registro SSPSTAT que corresponde a la concidion de start, el bit 5 del mismo registro que pertenece al bit de stop, el bit 6 del registro SSPCON2 que se pone a 1 cuando el master recive el bit de ack del slave. Supongo que para acceder a estos registros en c se tendrian definir previamente.
Hasta aqui es correcto??
La forma de captar el byte a almacenar no la tengo nada clara, se tendria que configurar el pic en modo maestro en recepcion. Otra cosa seria hacer que despues de recivir el byte no mande señal de ack para que no afectara a la comunicacion del circuito a analizar. Como seria la forma correcta de captar el byte a analizar???