Autor Tema: Problema con envio de datos desde esclavo SPI  (Leído 1708 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Diamel

  • PIC10
  • *
  • Mensajes: 13
Problema con envio de datos desde esclavo SPI
« en: 21 de Febrero de 2011, 15:27:44 »
buenas, escribo para ver si alguien de por aqui ya ha establecido una comunicacion SPI entre dos micros con exito o si alguien me pued echar una mano, he logrado establecer la comunicacion facilmente pero de la forma Maestro(Envia) - Esclavo(Recibe) enviando cadenas desde el maestro y recibiendolas en el esclavo y trabaja al 100%, sin embargo al enviar los datos desde el esclavo si es una cadena no la envia bien por ejemplo HOLA queda HHLLAA caso contrario a si es un solo byte por lo que creo que es un problema de sincronizacion, aqui el codigo de C18:

MAESTRO
Código: [Seleccionar]

unsigned char cadena[4];

/******DECLARACION PUERTO SLAVE SELECT*********/

#define SS          PORTBbits.RB7       // Chip select

void main(void){


ADCON1 = 0x07;

TRISBbits.TRISB7 = 0;
TRISCbits.TRISC6 = 0;

OpenSPI( SPI_FOSC_64,
         MODE_01,   
        SMPEND);
       
 while(1){


SS=0;
getsSPI(cadena,4);
SS=1;
   

  } 
}



ESCLAVO
Código: [Seleccionar]


char cadena[4]="HOLA";
 

void main(void){
 

ADCON1 = 0x07;
TRISAbits.TRISA5 = 1;


OpenSPI( SLV_SSON,
       MODE_01,   
       SMPEND);

 while(1)
{

     
putsSPI(cadena);

}

}