初级会员

- 积分
- 60
- 金钱
- 60
- 注册时间
- 2013-1-19
- 在线时间
- 0 小时
|
对ADXL345中的寄存器写数据的函数是这样的
void ADXL345_WR_Reg(u8 addr,u8 val)
{
IIC_Init();
IIC_Send_Byte(ADXL_WRITE);
IIC_Wait_Ack();
IIC_Send_Byte(addr);
IIC_Wait_Ack();
IIC_Send_Byte(val);
IIC_Wait_Ack();
IIC_Stop();
}
而IIC_Wait_Ack等待应答函数是这样的
u8 IIC_Wait_Ack(void)
{
u8 ucErrTime=0;
SDA_IN();
IIC_SDA=1;
IIC_SCL=1;
delay_us(1);
IIC_SDA=1;
delay(1);
while(READ_SDA)
{
ucErrTime++;
if(ucErrTime>250)
{
IIC_Stop();
return 1;
}
}
IIC_SCL=;
return 0;
}
请教一下在ADXL345中写寄存器函数的IIC_Wait_Ack()函数有什么用呢?既然IIC_Wait_Ack()是有返回值的,但是却没有在void ADXL345_WR_Reg(u8 addr,u8 val)中赋给任何变量,且无论IIC_Wait_Ack()返回1或是0,貌似都不会影响void ADXL345_WR_Reg(u8 addr,u8 val)?请大家指教,谢谢~ |
|