1 Reply Latest reply on Sep 17, 2018 1:17 AM by ndma

    I2C マスタ使用時の衝突処理について

    nagano_2677371

      PSoC5LP(CY8CKIT-059)でI2Cのマスターを使用している際にスレーブ側(ソフトウェアで組まれたスレーブ)が止まることがあり、

      このためバスが解放されずに動作を停止してしまうことがあります。

      こちらの対処としてI2Cを一度停止させてた上でクロック端子に強制的にクロックを与えてスレーブ側の

      データを吐き出させたいのですが、どのように行えばよいでしょうか。

       

      補足:

      以前、同様のスレーブを他のマイコンで使用した際は、バス衝突を検出後、

      ソフトウェアでクロック端子へ強制的にHigh/Low信号を与えて解消させておりました。

      PSoCではペリフェラルに接続された端子をソフトウェアから強制的に動作させる方法が分からないため、

      同様の手法がとれておりません。

        • 1. Re: I2C マスタ使用時の衝突処理について
          ndma

          PSoC5LPでI2Cマスターを使用している祭に、I2Cバス衝突を処理するために割り込みハンドラが使用されます。

          PSoC Creatorでデバッグモードを使用して、エラーの原因を確認することをお勧めします。 エラーが割り込みハンドラにある場合、コールバック関数を使用してエラーステータスから抜け出すことができます。

           

          以上、よろしくお願いいたします。

          Nada

          1 of 1 people found this helpful