Tip / ログイン to post questions, reply, level up, and achieve exciting badges. Know more

cross mob

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

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

SivaK_96
Employee
Employee
50 questions asked 10 questions asked 5 questions asked

Community Translated by NoTa_4591161

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();
    .
}

0 件の賞賛
112 件の閲覧回数