uint SPI_Read(void)
{
uint i, dat=0;
CLK = 0;
for(i=0; i<12; i++) //接受12位数据
{
dat <<= 1;
CLK = 1;
CLK = 0;
dat |= DOUT;
}
return dat;
}
//实例程序
//***********************************************************************************
//我写的
uint SPI_Read(void)
{
uint i, dat=0;
CLK = 0;
for(i=0; i<12; i++)
{
dat <<= 1;
dat |= DOUT;
CLK = 1;
CLK = 0;
}
return dat;
}
这个是AD芯片 Xpt2046 时序如下
这样写有什么区别,结果显示不正常?
现在CLK=1;CLK=0; 我这有写 显示结果就不对了,一直搞不明白这个时序,为什么要读时候放中间可以 ,我这样写在结果就不对?
|