Cómo crear un MSSP virtual

Hola!

Estoy detrás de un proyecto en el necesito emplear la comunicación I2C y la serie (SDI,SDO) simultáneamente. El PIC con el que trabajo es el 18F2320, alguien sabe cómo me podría crear un MSSP virtual?

Muchas gracias por adelantado!
 
Había visto una nota de aplicación de microchip en la que se implementa un SPI por software... pero no lo encuentro ahora.
Creo que sería más fácil por software el SPI que el I2C porque en el I2C se manejan direcciones y protocolo....
Para el SPI no podrías usar el USART en modo síncrono?. Se utilizaría una sola línea para SDI y SDO...
Pero ya veo que lo usas para RS-232 aunque no lo sé, aclaranos eso primero mientras sigo buscando esa rutina de SPI por software. No m acuerdo si el funcionamiento se basaba en interrupciones, aclará si disponés de alguna línea de interrupción también.
 
Ahí va algo:

Implementación de maestro SPI por software:
http://www.atmel.com/dyn/resources/prod_documents/DOC3041.PDF

sí, ya sé es de atmel, pero la idea está.

Podrías rescatar algo de código de acá , en " AN909 Source Code SPI" a partir de "Subroutine: WriteSPIHeader" están las rutinas de spi.

Lo que había visto de implementación software era de RS232, ésta nota de aplicación

Si veo algo más lo mando, probá buscando como "software implementation" + SPI o "software spi" o "software spi master"...
 
Hola!

Muchas gracias por tu respuesta. El problema que tengo es que estoy usando el STA013 que es un decoder de MP3 y necesito el I2C para enviarle instrucciones y controlar el dispositivo y el SPI para enviarle los datos que quiero decodificar.

Voy a mirarme los links que me has enviado! Muchas gracias!

Un saludo!
 
Es un poco tarde pero si usás el C que viene con el mplab, es decir, el mplab C18; fijate dentro del directorio de instalación (c:\mcc18 o c:\archivos de programa\microchip\mcc18 o la carpeta que hayas elegido para instalarlo):

doc\MPLAB-C18-Libraries_51297f.pdf ahí hay información de las librerías que se pueden usar en el mplab C18, y en particular en la página 115 explica un conjunto de funciones para usar SPI implementado por software.

en MCC18\src\traditional\pmc\SW_SPI está el código fuente de las funciones

vas a tener que definir cuáles pines de entrada salida vas a usar como SDI, SDO, CLK en

MCC18\h\sw_spi.h

De la misma forma, hay funciones para implementar por software un puerto USART (MCC18\src\traditional\pmc\SW_UART) y un puerto I2C (MCC18\src\traditional\pmc\SW_I2C).

Lástima no me dí cuenta antes, por lo menos que quede registrado.
 
Atrás
Arriba