2 Replies Latest reply on Sep 28, 2020 10:28 PM by NoTa_4591161

    Community Translation - I2C_Stop() API Does Not Disable I2C Master in I2C Component v3.50 of PSoC 3 and PSoC 5LP - KBA231344

    NoTa_4591161

      Hi,               

       

      I would like to translate KBA231344 into Japanese.

      Please confirm to my work.

       

      Thanks,

      Kenshow

        • 2. Re: Community Translation - I2C_Stop() API Does Not Disable I2C Master in I2C Component v3.50 of PSoC 3 and PSoC 5LP - KBA231344
          NoTa_4591161

          Hi Mohammed-san,

                                         

          Japanese translation was over.
          Please check below.

           

          Original KBA:

          I2C_Stop() API Does Not Disable I2C Master in I2C Component v3.50 of PSoC 3 and PSoC 5LP - KBA231344

           

          Thanks.

          Kenshow

          ==============================

           

          タイトル: I2C_Stop() APIは、PSoC3およびPSoC5LPのI2Cコンポーネントv3.50でI2Cマスターを無効にしません - KBA231344

           

          バージョン:**

           

          I2CコンポーネントV3.50が固定関数実装のI2Cマスターモードで使用される場合、I2C_Stop() APIはマスターを無効にしません。 これは、生成されたソースのI2C_Stop() 関数定義のエラーによる既知の問題です。

           

          注:ここで、I2C_Stop()はコンポーネントAPIです。したがって、プロジェクトのI2CコンポーネントがMyI2CComponentの場合、コンポーネントAPIMyI2CComponent_Stop()になります。簡単にするために、この記事ではAPI<i2c_comp> _Stop()と呼びます。ここで、<i2c_comp>I2Cコンポーネントの名前です。

           

          <i2c_comp> _Stop()<i2c_comp> .cで定義されており、次の行が含まれています。

           

          /* ブロックを無効にします */

          <i2c_comp>_CFG_REG &= (uint8) ~<i2c_comp>_CFG_EN_SLAVE;

           

          問題は、コンポーネントがマスターとして設定されている場合でも、<i2c_comp> _Stop()がスレーブブロックのみを無効にすることです。回避策として、このコードを次のコードに置き換えてください。

          /* ブロックを無効にします */

          <i2c_comp>_CFG_REG &= (uint8) ~<i2c_comp>_ENABLE_MS;

           

          <i2c_comp> _Stop()関数を変更するには、次のいずれかを実行します。

          1. 回避策が実装し、カスタムI2C停止機能(<i2c_comp> _Custom_Stop()など)を作成し、<i2c_comp> _Stop()の代わりにこの関数を呼び出します
          2. 回避策を使用して、変更されたコンポーネントを作成します。PSoCCreatorを使用したコンポーネントのカスタマイズ-KBA229139をご参照願います。
          3. プロジェクトの Build Settings > Code Generation 、既存の生成されたソースを変更し、[Skip Code Generation]True設定します。

           

          注:この設定の後で、プロジェクトをClean またはClean and Buildしないでください。

           

           

          ==============================

          29-Sept-2020

          Kenshow