#include<spi.h>
#include <p18cxxx.h>
#include<delays.h>
typedef union {
struct {
unsigned char v1;
unsigned char v2;
};
unsigned short val;
} WORD_VAL;
WORD_VAL TotalBytes;
unsigned char strout[200];
void InitSPI(void){
OpenSPI(SLV_SSON, MODE_00, SMPMID);
TRISAbits.TRISA5 = 1; //CS
TRISCbits.TRISC4 = 1; //DI
TRISCbits.TRISC5 = 0; //DO
TRISCbits.TRISC3 = 1; //SCLK
}
void GetSPIData(void)
{
InitSPI();
if(!PORTAbits.RA5)
{
TotalBytes.v1=getcSPI();
TotalBytes.v2=getcSPI();
getsSPI(strout,200);
}
CloseSPI();
}
void main(void)
{
unsigned int i=0;
TotalBytes.val=0;
lcd_init();
calc_display(strout);
clearscreen();
while(1)
{
GetSPIData();
strout[0]='B';
if(++i>=5000){
if(TotalBytes.val==536)
{
strout[0]='A';
}
strout[1]='\0';
calc_display(strout);
i=0;
}
}
}