雷竞技电竞平台对话半导体客户支持- i2c_eeprom https://support.dialog-semiconductor.com/resource-keywords/i2ceeprom I2C读写 https://support.dialog-semiconductor.com/forums/post/dialog-smartbond-bluetooth-low-energy-%E2%80%93-software/i2c-read-write < div class = "字段field-name-taxonomy-forums field-type-taxonomy-term-reference field-label-above”> < div class = "字段标签" >论坛:,< / div > < div class = "字段条目" > < div class =”field-item甚至“rel = " sioc: has_container " > < a href = " /论坛/ dialog-smartbond-bluetooth-low-energy - % E2 % 80% 93 -软件”“=“sioc:容器sioc:论坛”属性= " rdfs: label skos: prefLabel”数据类型= " " >对话框Smartbond蓝牙低能量-软件< / > < / div > < / div > < / div > < div class =”字段field-name-body field-type-text-with-summary field-label-hidden”> < div class = "字段条目" > < div class =”field-item甚至“财产=“内容:编码”> < p >你好,< br / >我在I2C接口代码。我已经参考了i2c_eeprom驱动程序代码。我不理解的代码片段很少意味着代码的精确工作。如果有人能帮助我理解,那将对我的传感器接口非常有帮助。

slave device using is IQS333触摸传感器。在那里我无法正确地沟通。

以下是代码片段,请解释在就绪字节函数
中工作的
SEND_I2C_COMMAND (0 x0100);//设置R/W位为1(读访问)
WAIT_FOR_RECEIVED_BYTE (); // Wait for received data

and i2c_eeprom_error_code
i2c_eeprom_error_code i2c_wait_until_i2c_eeprom_ready(void)
{
uint16_t ui16tx_abrt_source;

// Check if ACK is received
for (uint32_t ui32Indx = 0; ui32Indx < I2C_MAX_RETRIES; ui32Indx++)
{
SEND_I2C_COMMAND(0x08); // Make a dummy access
WAIT_UNTIL_I2C_FIFO_IS_EMPTY(); // Wait until Tx FIFO is empty
WAIT_UNTIL_NO_MASTER_ACTIVITY(); // Wait until no master activity
ui16tx_abrt_source = GetWord16(I2C_TX_ABRT_SOURCE_REG); // Read the I2C_TX_ABRT_SOURCE_REG register
GetWord16(I2C_CLR_TX_ABRT_REG); // Clear I2C_TX_ABRT_SOURCE register
if ((ui16tx_abrt_source & ABRT_7B_ADDR_NOACK) == 0)
{
return I2C_NO_ERROR;
}
}
return I2C_7B_ADDR_NOACK_ERROR;
}

above attached snippet.
Urgent help need.

Thanks and Regards
Rohit

Device: 
Tue, 09 Oct 2018 07:37:44 +0000 Rajapurerohit 240722年https://support.dialog-semiconductor.com https://support.dialog-semiconductor.com/forums/post/dialog-smartbond-bluetooth-low-energy-%E2%80%93-software/i2c-read-write#comments