
- Subscribe to RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
PSoC®1 PLC-PLT_StartおよびPLT_Restart関数がPort1およびPort2データレジスタに影響を与える - KBA216061 - Community Translated (JA)
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();
.
}