4

最初は、I2C 用に 8 ビット レジスタをサポートする eBus SDK を使用しました。この SDK は、I2C の 16 ビット レジスタ アドレスをサポートしていません。I2C の 16 ビット レジスタ アドレスをサポートするこの SDK に代わるものはありますか?

よろしくお願いいたします。

4

3 に答える 3

5

他のコメントに基づいて、いくつかの概念を明確にする必要があります。すべての I2C デバイスは、7 ビット (読み取り/書き込みで 8 ビット) と 10 ビットのスレーブ アドレス指定のみをサポートします。ただし、これはこのトピックで尋ねられた概念ではありませんでした。

プロトコル仕様に従って、I2C は 8 ビットのセットで読み取り/書き込みを行い、その後にデータを受信するデバイスからの確認応答 (ACK/NACK) が続きます。デバイスが読み取り/書き込みビットを解釈する方法は、デバイスによって大きく異なる場合があります。

私の個人的な経験から、多くの場合、0x1234 などのより大きなレジスタ アドレスは、レジスタ 0x12 および 0x34 から読み書きする必要があることを意味するだけであることがわかりました。両方のレジスタは、16 進数の 0x1234 によって参照される実際の 16 ビット ワードを一緒に形成する 8 ビットの情報を保持します。

前述したように、これはデバイスごとに異なる場合があります。適切なレジスタから読み書きし、個々の 8 ビットを正しい順序にアセンブルして、対応する 16 -ビットワード。

于 2013-07-17T12:40:50.957 に答える