请教高手,为什么读93C46的数据时,检测不到DO位虚0的时候,DO始终是高电平,读函数返回的值一直是0XFFFF.两天都没找出问题所在,请大家赐教。谢谢。
uint read(uchar add)
{
uchar i;
uint rtemp;
CS=1;
comm(0x01);
comm(add|0x80);
RBPU=0;//开启RB5上拉,DO为RB5
TRISB5=1;
CS=1;
while(DO)
{
CLK=0;CLK=1;
}
for(i=0;i<16;i++)
{
CLK=0;
NOP();
rtemph=rtemph<<1;
if(DO) rtemph|=0x01;
CLK=1;
NOP();NOP();
}
CS=0;
return(rtemph);
} |