void ADS8698_CMD(uchar Cmd) { //Cmd = 0x85; AVCS = 0; //CS LOW delay_us(2); for(i=0;i<8;i++) //Send CMD MSB 8bit { AVSCLK = 1 ; // SCLK HI if(Cmd & 0x80) AVSDI = 1; else AVSDI = 0; delay_us(2); AVSCLK = 0; //SCLK LOW delay_us(2); Cmd =Cmd << 1; } AVSDI= 0 ; //Send CMD LSB 8bit delay_us(2); for(i=0;i<8;i++) { AVSCLK = 1; delay_us(2); AVSCLK = 0; delay_us(2); } r=0; for (i=0;i<18;i++) //Read previous data { r = r<< 1; AVSCLK = 1; // SCLK HI if(AVSDO) //Check SDO 1 or 0 r = r | 0x0001; else r = r & 0x03fe; delay_us(2); AVSCLK = 0; // SCLK LOW delay_us(2); } AVCS = 1; //CS HI delay_us(2); }