主题中讨论的其他器件:HALCOGEN
大家好
我希望您可以为 i2cNotification (i2cbase_t *i2c、uint32标志)提供示例代码以帮助我进行软件开发。
我想测试 NOACK 是否存在损坏的 IC 或不存在的 IC。 我只想发送一个 i2c 从器件地址并等待 noack。 如果存在确认、我将继续发送数据。 下面是用于测试 ack 的代码。 我正在使用位 TSS_BErrorIC 包含错误/非错误状态。 请告诉我是否正确。 谢谢你。
void TSS_Vinit (){
//设置要发送到 TCAN75的寄存器
//设置从机地址
uint32_t delay = 0u;
i2cbase_t *i2c=i2cREG2;
vGpioSetBit (N2HET1_27、1);//使用 N2HET1[27]引脚 A9作为测试输出。 将其设置为输出高电平
i2cClearSCD (i2c);
i2cSetSlaveAdd (i2c、TCAN75_I2C_ADDR);//温度传感器正在使用 i2c2
i2cSetMode (i2c、I2C_master);
i2cSetDirection (i2c、I2C_transmit);
/*发送启动条件*/
i2cSetStart (i2c);
TSS_BErrorIC=true;
for (delay=0;delay<100;delay++);
{
if ((i2c->STR 和 I2C_NACK)!= I2C_NACK)
{
TSS_BErrorIC=false;
}
}
i2cSetStop (i2c);
/*等待总线忙状态被清除*/
while (i2cIsBusy (i2c)== true);
/*清除停止条件*/
i2cClearSCD (i2c);
//vGpioSetBit (N2HET1_27、u8ReadGpioPinVal (N2HET1_27)^ 1);
VGpioSetBit (N2HET1_27、0);
//printf ("TSS_Vinit 2");
}



