工具与软件:
打开 HDC3020后、无法正确读取第一个数据。
第一个数据始终为零。
如果我读取一次数据、等待6ms、然后再次读取数据、将读取正确的数据。
为什么会这样呢?
void Test1()
{
PowerOn();
Wait1s();
I2C_RepeatedStartSequence_MultiDataResult(); // Result is Zero
Wait6ms();
I2C_RepeatedStartSequence_MultiDataResult(); // Result is Correct Value
I2C_RepeatedStartSequence_MultiDataResult(); // Result is Correct Value
I2C_RepeatedStartSequence_MultiDataResult(); // Result is Correct Value
}
void Test2()
{
PowerOn();
Wait1s();
I2C_RepeatedStartSequence_MultiDataResult(); // Result is Zero
I2C_RepeatedStartSequence_MultiDataResult(); // Result is Zero
I2C_RepeatedStartSequence_MultiDataResult(); // Result is Zero
I2C_RepeatedStartSequence_MultiDataResult(); // Result is Zero
}
void Test3()
{
PowerOn();
Wait1s();
I2C_RepeatedStartSequence_MultiDataResult(); // Result is Zero
Wait4ms();
I2C_RepeatedStartSequence_MultiDataResult(); // Result is Zero
Wait4ms();
I2C_RepeatedStartSequence_MultiDataResult(); // Result is Zero
Wait4ms();
I2C_RepeatedStartSequence_MultiDataResult(); // Result is Zero
}
* I2C_Repeatedsnap (Sequence_Multi) IS
www.ti.com/.../hdc3020.pdf
图7-6. I2C 重复 START 序列、多个数据结果




