|
PT2315使用i2c協(xié)議沒有ack應(yīng)答,一直在等,明明地址是正確的,但第九位確仍然是高電平,然后程序就一直在等,沒有回應(yīng)了,15地址是0x80
*********************************************************************************************************
* 等待應(yīng)答的程序
*********************************************************************************************************
*/
uint8_t i2c_WaitAck(void)
{
uint8_t re;
//SDA=1;
i2c_Delay();
//NOP4();
SCL=1;
i2c_Delay();
//NOP4();
if (SDA==1)
{
re = 1;
}
else
{
re = 0;
}
//while(SDA==1)
SCL=0;
i2c_Delay();
re=0;
return re;
}
uint8_t ee_WriteOneBytes(u8 value){
//uint16_t m;
i2c_Stop()
i2c_Start();
N_nop;
N_nop;
N_nop;
N_nop;
i2c_SendByte(PT2315_Addr);
if (i2c_WaitAck() != 0)
{
goto cmd_fail1;
}
N_nop;
N_nop;
N_nop;
N_nop;
i2c_SendByte(value);
N_nop;
N_nop;
N_nop;
N_nop;
if (i2c_WaitAck() != 0)
{
goto cmd_fail1;
}
i2c_Stop();
return 1;
cmd_fail1:
i2c_Stop();
return 0;
}
|
|