Comunicacion de dos PIC por SPI

hola a todos , estoy tratando de desarrollar un programa para comunicar dos micros por el puerto sincrono SPI, nunca lo habia usado hasta ahora y la verdad se me ha complicado y no se porque, es sencillo ya que solo necesito enviar datos en una direccion, necesito este tipo de comunicacion ya que es para transmitir los datos inalambricamente atraves de unos modulitos TRF 2.4 GHz de laipac, pongo el codigo de prueba que realize, cualquier aporte o aclaracion sobre esta comunicacion la agradezco..

//////////////////////////////////////////////
// emisor protocolo SPI
//
/////////////////////////////////////////////

#include <16F877a.h>
#fuses xt,NOWDT,NOLVP,PUT
#use delay(clock=4000000)
#use fast_io(c)

void main (){
setup_spi(SPI_MASTER | SPI_H_TO_L | SPI_CLK_DIV_16);

while (true){

if (input(pin_a0)){
delay_ms(400);
spi_write(0x01);}}}



//////////////////////////////////////////////
// receptor protocolo SPI
//
/////////////////////////////////////////////

#include <16F877a.h>
#fuses xt,NOWDT,NOLVP,PUT
#use delay(clock=4000000)
#use fast_io(c)

int x;
void main (){
setup_spi(SPI_SLAVE | SPI_H_TO_L | SPI_CLK_DIV_16);
while (true){
if (spi_data_is_in() ){
x=spi_read();}

if(x==0x01){
output_high(pin_b0);
output_low(pin_b1);}
else{
output_high(pin_b1);
output_low(pin_b0);}
}
}

agradezco si alguien puede compartir un ejemplito de esta comunicacion
 
Última edición:
Atrás
Arriba