我在学习hdq协议,在用bq26500读的时候为什么读出来的都是FF?以下是我的读的程序
unsigned char read_hdq(unsigned char addr)
{
unsigned int i,j=0;
unsigned char out=0;
HDQBreak();
HDQ_SETOUT;
write_byte(addr|0x7F);
delay_us(300);
HDQ_SETIN;//读取数据
for(i=0;i<8;i++)
{
delay_us(90);
if(P3IN&BIT0) out|=0x80;
if(i<7) out=out>>1;
delay_us(100);
}
return out;
}
|