Siguiendo con el proyecto me he informado un poquitin mas
..
Al parecer para iniciar la memoria hay que seguir algunos paso en basic.
Se deben tener en cuenta las siguientes cosas:
1- Seleccionar el modulo MSSP para que trabaja en modo master.
2- Generar un frecuencia en el clock de unos 312 khz.
Nota: Para inicializar de modo correcto la memoria , el Clock del SPI, debe estar en una frecuencia de entre 100 y 400 khz. Por lo cual con una frecuencia de 312 khz estariamos perfecto.
Para lograr ese frecuencia se debe utilizar el registro SSPCON del pic.
4) Luego debemos setear el tipo de polaridad del clock.
5) Finalmente activar el modulo del micro MSSP poniendo a "1" el bit SSPEN.
Paso a dar una explicacion general del modulo MSSP del pic redactada por mi basandome en el pic que en este momento estoy utilizando para las pruebas , el 16F877A.
El Modulo MSSP tiene 4 registros para el modo de operacion SPI. Estos son:
*MSSP Control del registro : (SSPCON)
*MSSP Control de Stado : (SSPSTAT)
*Registro Buffer de la recepcion y envio por serie : (SSPBUF)
*MSSP Registro Shift. : (SSPSR) . No es directamente accesible.
Los registros SSPCON y SSPSDTAT son registros de contro y estado dentro del modo de operacion SPI.
El registro SSPCON es un registro que puede ser leido y escrito.
Los ultimos 6 bits del registro SSPSTAT son de solo lectura.
Los primeros dos bits pueden ser leidos y escritos.
SSPSR es un registro del tipo SHIFT.. Es utilizado para enviar o recibir datos. He de ahi la famosa instruccion de PBP, SHIFTIN y SHIFTOUT.
SSPBUF es el registro de buffer para aquellos bytes de datos que van a ser leidos o escritos en el dispositivo.
REGISTRO SSPSTATEste tiene 8 bits, cada uno tiene un significado. Y segun el valor del bit cumpliran una u otra accion.
BIT 7 = SMP: SAMPLE BIT
1 = Input data sampled at end of the data output time.
0 = Input data sampled at the middle of data output time.
BIT 6 = CKE: SPI CLOCK SELECT BIT
1 = Transmit occurs on trasition from active to idle clock state.
0 = Transmit occurs on trasition from idle to active clock state.
Nota : La polaridad del reloj es seteada mediante el registro SSPCON.4.
BIT 0 = BF: Buffer FUll Status Bit (solo en recepciones)
1 = Receive complete, SSPBUF is full.
0 = Receive not complete, SSPBUF is empty.
Del bit 6 al 1 no se utilizan en el modo SPI, Por lo tanto no me dedicare a explicar sus funciones.
REGISTRO SSPCONEste registro tambien posee 8 bits de configuracion del bit 7 al bit 0.
Pero solo seran necesarios para las pruebas, utilizar los registros del bit 5 y
los registros del bit 4 y los registros del bit 3 a 0.
BIT 5 = SSPEN: Synchronous Serial Port Enable Bit
1 = Enables serial port and configures SCK, SDO, SDI and SS as serial port pins.
0 = Disables Serial port and configures these pins as I/O port pins.
Nota: Cuando este habilitado esos pines deben estar correctamente configurado como entradas o salidas.
BIT 4 = CKP: Clock Polarity Select Bit
1 = Idle state for clock is a high level.
0 = Idle state for clock is a low level.
Bit 3-0 = SSPM3:SSPM0: Synchronous serial port mode select bits
0101 = SPI Slave mode, clock = SCK pin. SS disable.
0100 = Spi Slave mode, Clock = SCK pin. SS pin control enabled.
0011 = SPI master mode, clock = TMR2 output/2
0010 = SPI master mode, clock = Fosc/64
0001 = SPI master mode, clock = Fosc/16
0000 = SPI master mode, clock = Fosc/4
'------------------------------------------------------------------