dsPIC33マイクロコントローラーを使用して複数のI2Cスレーブデバイスから読み取ろうとしています。
誰かがタイマー割り込み(この場合はtimer1)を使用してI2Cデータを収集する正しい方法についてアドバイスしてくれることを望んでいました。
これまでのところ、whileループでループすることにより、I2Cスレーブデバイスからデータを正常に収集できますが、タイマー割り込みを追加しようとしたため(「できるだけ速く収集する」のではなく、独自のサンプリングレートを適用できます)、I2Cソフトウェアドライバーがスタックしています。
私は非常に低いタイマー速度(現時点では1Hz)で試しましたが、I2Cは標準の100KHz速度です。PICは80MHzで処理しています。
タイマーとI2Cモジュールを使用する正しい方法は何ですか?私はオンラインで調べましたが、timer1を使用する場合、割り込み(timer1)内に割り込み(I2C)がありますが、これまでのところ運がないため、割り込みの優先度の問題である可能性があります。