Hi, Kenshow-san
Confirm to work this KBA.
Thanks,
Jenna
Hi Jenna-san,
Japanese translation was over.
Please check below.
Original KBA:
Determining if a Slave is Present on the Bus - KBA83391
Thanks.
==============================
タイトル: スレーブがバスに存在するかどうかの確認 - KBA83391
バージョン:*A
質問:
I2CHWマスターを使用しているときに、特定のアドレスを持つスレーブがバス上に存在するかどうかをどのように判断すればよろしいでしょうか?
回答:
I2CHW_fSendStartのAPIを使用して、特定のアドレスを持つスレーブがバス上にあるかどうかを確認できます。このAPIは、I2Cバス開始条件を生成し、アドレスとR/Wビットを送信してから、ACK結果を返します。戻り値がゼロ以外の場合、スレーブはアドレス(バス上に存在する)を確認します。戻り値がゼロの場合、スレーブはアドレス(バス上に存在しない)を確認できなかったことを示します。次のコードスニペットの例は、バス上にアドレス0x50のスレーブがあるかどうかをチェックします。
If(I2CHW_fSendStart(0x50, I2CHW_WRITE))
{
// バスに存在するスレーブ
}
else
{
// バスに存在しないスレーブ
}
I2CHW_bRead(0); // 高レベルAPIを使用するようにI2CHW_SCRレジスタを設定します
I2CHW_SendStop(); // I2Cバスをリセットします
I2CHW_EnableInt(); // I2C割り込みを再度有効にします
// ここではbWriteBytesやfReadBytesなどの高レベルAPIを使用します
ノート:
==============================
14-August-2020