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

cross mob

ファームウェアの入力ピンを有効/無効にする - KBA230122 - Community Translated (JA)

ファームウェアの入力ピンを有効/無効にする - KBA230122 - Community Translated (JA)

ChaitanyaV_61
Employee
Employee
50 questions asked 25 likes received 25 sign-ins

Community Translated by NoTa_4591161         Version: **

Translation - English: Enable/Disable an Input Pin In Firmware - KBA230122

各ポートには、関連するGPIO_PRTx_PC2レジスタがあります。レジスタの個々のビットは、ポートのピンの1つに対応しています。特定のビットを設定および設定解除すると、そのピンに関連付けられている入力バッファを有効または無効にできます。入力バッファを無効にすることは、入力ピンを無効にする方法の1つです。

ポートコンフィグレーションレジスタの詳細については、PSoC 4000S Register TRMをご参照願います。

次にその例を示します。

この例では、UARTとして構成されたSCBコンポーネントのRxピンを無効にします。データの送信中、ピンを無効にすると、次のようにデータの受信が無効になります。

1. UARTコンポーネントをダブルクリックしてコンフィグレーションボックスを開き、図1に示すように方向をTX + RXとして設定します。デジタル入力ピン(RX)をコンポーネントのrx_inに接続します。

1. UARTコンポーネントの設定

1.png
 
 

2. 使用されているデバイスのUART_RXピンを探します。この場合、P3 [0]を使用しています。入力バッファを無効にするには、GPIO_PRT3_PC2レジスタのビット0をクリアする必要があります。図2は、GPIO_PRTx_PC2のさまざまなビットの機能を示しています。

2. GPIO_PRTx_PC2レジスタのさまざまなビットの機能

  2.png 

3.次のコードを使用して、ファームウェアのポート3のビット0をクリアすることにより、実行中にUART_RXピンの入力バッファーを無効にします。

    uint32 temp_reg_val;                                                                                   // 変数の初期化

    temp_reg_val = CY_GET_REG32(CYREG_GPIO_PRT3_PC2);             // P3 [0]の入力バッファを無効にするために、RX_PC2が使用される

    uint32 temp_reg_original = temp_reg_val;                                                 // レジスタの初期値を保存します。

    temp_reg_val = temp_reg_val | (0x01 << RX_SHIFT);                             // UARTRXピンであるPIN 3 [0]を無効にする

// RX_SHIFTはポートのピン番号(ここではピン0)に対応

    CY_SET_REG32(CYREG_GPIO_PRT3_PC2, temp_reg_val);         // RXピンの無効条件でレジスタを設定する

4. 次のように、GPIO_PRT3_PC2レジスタに初期値をロードして、入力バッファを有効にします。

CY_SET_REG32(CYREG_GPIO_PRT3_PC2, temp_reg_original); // レジスタの元の値を復元する

3は、詳細なコードスニペットを示しています。

3.ファームウェアのピンを無効および有効にするコードスニペット

     3.png

0 件の賞賛
120 件の閲覧回数
寄稿者