现在使用ti驱动的sensorI2c 稍封装了一下,读写AT24C64 成功了,但是为什么如图所示,每字节间需要空闲大概60us的时间?请问是什么问题导致的
bool At24C64_ByteWrite(uint16_t nAddr,uint8_t nData)
{
bool ret = true;
uint8_t nTmp[3] = {0} ;
if (!SENSOR_SELECT())
{
return false;
}
nTmp[0] = LO_UINT16(nAddr);
nTmp[1] = HI_UINT16(nAddr);
nTmp[2] = nData ;
ret = SensorI2C_write(nTmp,sizeof(nTmp));
SENSOR_DESELECT();
return ret;
}
user3570217:
问题好像是STOP位的时候 SCL没给到高电平,然后超时了
Alvin Chen:
回复 user3570217:
有逻辑分析仪没?或者你用下面的DEMO再试一下。
http://dev.ti.com/tirex/explore/node?node=AAtafPcHhkZJEWnOarFQhA__krol.2c__LATEST
user3570217:
回复 Alvin Chen:
你好,未波器应该比逻辑分析清晰的,请问你有这个demo读写时的时波器的时序图吗,我这边好确认一下,因为看demo的I2C初始化配置跟目前的无异,
Alvin Chen:
回复 user3570217:
请在下面的帖子中提供更多细节
e2e.ti.com/…/842586
user3570217:
回复 Alvin Chen:
你好,已经回复了,时间间隔是61us在示波器屏幕的右边栏,25us是时间刻度,不是搞错