1

最近、I2C (スレーブ) ライブラリTinyWireSで発生した問題を投稿しました。なんらかの理由で、63 を超えるスレーブ アドレスを使用できませんでした。

この問題を解決するために、新しいスレッドを開始したいと思います。

私のプロジェクトの詳細については、こちらの前回の投稿で確認できます。マスターとスレーブのコードと回路は同じままです。

私が見つけたもの:

マスターが特定のアドレスでスレーブと通信しようとすると、スレーブは ISR 関数を呼び出します (ファイル: usiTwiSlave.c 行: 569)。この関数は、アドレスが正しいかどうかをチェックするため、マスターが別のスレーブに送信する場合でも呼び出されます。

しかし:

マスターにスレーブに接続するように指示すると > 63 ISR が実行されません。残念ながら、ISR 関数がどこで呼び出されているかわかりませんでした。すべてのファイルを検索しましたが、「親」関数が見つかりませんでした。

私はバグを見つけるのに近づいていると確信していますが、C/C++ の経験はあまりありません。

あなたが私を助けてくれることを願っています!

4

1 に答える 1