
//read from the SDO
void CS5532_Read_Data(void){
unsigned char i,j;
ADCS_L();
delay_us(2);
ADCLK_L();
delay_us(2);//
// data bus
ADDI_L();
// delay_us(2);
// ADDI_H();
for(j=0;j<4;j++){
for(i=0;i<8;i++){
ADCLK_H();
delay_us(2);
Sample_buf[j]<<=1;
if(input(PIN_C4))
Sample_buf[j] |= 0x01; //从SDO读取数据
else
Sample_buf[j] &= 0xfe;
delay_us(2);
ADCLK_L();
delay_us(2);
}
}
}

好的,谢谢大神,我试一试只是中间有屏蔽,我整理了一下,你看对不对
void CS5532_Read_Data(void)
{ unsigned char i,j;
ADCS_L();
delay_us(2);
ADCLK_L();
delay_us(2);// // data bus
ADDI_L(); //
delay_us(2); //
ADDI_H();
for(j=0;j<4;j++)
{
for(i=0;i<8;i++)
{
ADCLK_H();
delay_us(2);
Sample_buf[j]<<=1;
if(input(PIN_C4))
Sample_buf[j] |= 0x01; //从SDO读取数据
else
Sample_buf[j] &= 0xfe;
delay_us(2);
ADCLK_L();
delay_us(2);
}
}
}