PSoC®1 PLC-PLT_StartおよびPLT_Restart関数がPort1およびPort2データレジスタに影響を与える - KBA216061 - Community Translated (JA)

Version 1

    Community Translated by NoTa_4591161 Expert    Version: **

     

    Translation - English: PSoC® 1 PLC - PLT_Start and PLT_Restart Functions Affect Port1 and Port2 Data Registers - KBA216061

     

    質問:

    PLT_StartまたはPLT_Restart関数を呼び出すと、Port1およびPort2のピンがPSoC Designer™チップデザインウィンドウで構成された初期値に上書きされます。ただし、これらのピンはPLT関連の機能に使用されない場合もあります。なぜこれが発生し、この問題を解決するのですか?

     

    回答:

    この問題は、PLTユーザーモジュールAPIの「PLT_Start」および「PLT_Restart」がシャドウレジスタを使用してPort1およびPort2データレジスタを初期化するために発生します。

    この問題を解決するには、Port1またはPort 2データレジスタを変更する前に、対応するポートシャドウレジスタを更新する必要があります。

    例:

    次のコードスニペットは、PLTコードを持つプロジェクトのコードでP1 [7]の値を変更する方法を示しています。

    void main()
    {
       // チップデザインウィンドウで行われた設定にコードの最初でPort1シャドウレジスタを初期化します。Port_1_Data_SHADE = 0x80; // P1 [7]の初期値が1で、チップデザインウィンドウで他のPort1ピンが0の場合、これを行います
        .
        .
        // P1 [7]をクリアする場合は、次のようにします
          Port_1_Data_SHADE &= ~0x80; // Port1シャドウレジスタのビット7をクリア
          PRT1DR = Port_1_Data_SHADE; // Port1シャドウレジスタからPort1データレジスタを更新
        .
        .
        // PLT_Start()またはPLT_Restart()関数を呼び出します- Port1シャドウレジスタが更新されたため、これはP1 [7]に影響しません
        PLT_Start();
        .
        .
    }