Code: Select all
void spi_init(){
clearbit(trisc,3);
setbit(trisc,4);
clearbit(trisc,5);
smp_bit=0;//data sampled at end
cke_bit=0;//SPI MODE 1,1
ckp_bit=1;// SPI MODE 1,1
clearmask(sspcon1,15);// 8Mhz bitrate
sspie_bit=1;// enable spi done interrupt
sspif_bit=0;//clear done flag
sspen_bit=1;//sets up serial port
peie_bit=1;// enable peripherial interrupts
gie_bit=1;// enable global interrupts
}
char spi_get(void){
sspbuf=0;// send dummy
while(sspif_bit==0);// wait for done
sspif_bit=0;// clear done flag
return sspbuf;// return read
}
void spi_send(char dip){
char dummy;
sspbuf=dip;
while(sspif_bit==0);// wait for done
sspif_bit=0;// clear done flag
dummy=sspbuf;
}
Code: Select all
smp_bit=0;//data sampled at end
cke_bit=1;//SPI MODE 0,0
ckp_bit=0;// SPI MODE 0,0