- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I'd like to translate this KBA224950 into Japanese.
moto
Original KBA: KBA 224950
Controlling UART Tx and Rx Pins through Firmware for PSoC 4 Devices - KBA 224950
Being Translated by: MoTa_728816
=============================
タイトル: PSoC 4 デバイスでファームウェアから UART の Tx と Rx ピンを制御する - KBA224950
質問:
PSoC® 4 デバイスで実行時にファームウェアから UART の Rx と Tx ピンを制御するのにはどうしたら良いでしょうか?
回答:
このナレッジベースドキュメントでは、ファームウェアから SCB_UART Tx と Rx ピンの機能を変更する方法を学びます。ユースケースではファームウェアからピンを制御する理由について記載します。ソリューションではファームウェアからピンを制御する手順を示します。コード例では推奨される API の使用方法を実装しています。
ファームウェアから UART Tx と Rx ピンを制御するユースケース:
1. UART の Rx ピンは電気的ノイズに影響を受けやすい場合があります、そのため Rx ピンの内部プルアップ抵抗を有効にするとこの問題を解決できます。
2. 半二重と全二重モードを切り替えている間、 SCB UART に使用されていない Tx と Rx ピンを GPIO として設定しファームウェアからの制御が可能です。
ファームウェアでのソリューション:
通常、ピンはファームウェアからでもハードウェアからでも制御可能です。デフォルトでは UART のピンは SCB ハードウェアブロックから制御されます;そのため、ファームウェアからの制御を有効にする場合には UART のピンを SCB ブロックから切断する必要があります。
Tx/Rx ピンを UART SCB から切断してファームウェアによる制御を有効にするためには以下の手順に従ってください:
1. Tx/Rx ピンに該当するレジスタの HSIOM_PORT_SELx ビットに 'ビット 0' を書き込みます。
2. Tx/Rx ピンのドライブモードをファームウェアを使用して設定します。
詳細については、Architecture Technical Reference Manual (TRM) の I/O System (HSIOM) をご参照ください。
以下のコード抜粋は Tx/Rx ピンと UART SCB 間のハードウェア接続を解除してファームウェアによる制御を有効にする手順を実装するのにご使用いただけます。
抜粋コード ユースケース 1: ファームウェアから Rx ピンを制御する
例えば、UART_Tx ピン、UART_Rx ピンがそれぞれ P0.1 と P0.0 だった場合。
// SCB_UART のデフォルトコンフィグレーション設定を保存する変数
uint32 temp;
// SCB_UART 用の HSIOM コンフィグレーションを保存する
temp = CY_GET_REG32 (CYREG_HSIOM_PORT_SEL0);
// UART_Rx ピンをファームウェアから制御するように設定する
CY_SET_REG32 (CYREG_HSIOM_PORT_SEL0, CY_GET_REG32 (CYREG_HSIOM_PORT_SEL0) & 0xFFFFFFF0);
// UART Rx ピンのドライブモードを設定する
UART_pin_SetDriveMode(UART_pin_DM_RES_UP);
// ここにアプリケーションコードを記述する
// UART のデフォルト機能に戻す (例) Rx ピンは SCB ブロックに接続されている
CY_SET_REG32 (CYREG_HSIOM_PORT_SEL0, temp);
抜粋コード ユースケース 2: ファームウェアから Rx ピンを制御する
例えば、UART_Tx ピン、UART_Rx ピンがそれぞれ P0.1 と P0.0 だった場合。
// SCB_UART のデフォルトコンフィグレーション設定を保存する変数
uint32 temp;
// SCB_UART の HSIOM デュプレックスコンフィグレーションを保存する
temp = CY_GET_REG32 (CYREG_HSIOM_PORT_SEL0);
// UART Tx オンリーモード
// UART_Rx ピンをファームウェアから制御されるように設定する
CY_SET_REG32 (CYREG_HSIOM_PORT_SEL0, CY_GET_REG32 (CYREG_HSIOM_PORT_SEL0) & 0xFFFFFFF0);
// UART Rx ピンのドライブモードを設定する
UART_pin_SetDriveMode(UART_pin_DM_RES_UP);
// UART Tx オンリーモードオペレーション用コードをここに記述する
// デフォルトの全二重の UART 機能をロードする (例) Rx ピンは SCB ブロックに接続されている
CY_SET_REG32 (CYREG_HSIOM_PORT_SEL0, temp);
// UART Rx オンリーモード
// UART_Tx ピンをファームウェアから制御されるように設定する
CY_SET_REG32 (CYREG_HSIOM_PORT_SEL0, CY_GET_REG32 (CYREG_HSIOM_PORT_SEL0) & 0xFFFFFF0F);
// UART Tx ピンのドライブモードを設定する
UART_pin_SetDriveMode(UART_pin_DM_RES_UP);
// UART Rx オンリーモードオペレーション用コードをここに記述する
// デフォルトの全二重の UART 機能をロードする (例) Tx ピンは SCB ブロックに接続されている
CY_SET_REG32 (CYREG_HSIOM_PORT_SEL0, temp);
=============================
7-Apr-2020
moto
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello, Tanaka-san
We receive your translation, it will be published to KBA to Community.
After upload, You will receive the points as the word of KBA.
Due to the current volume of works, Please bear with me for the delayed the response,
Thanks for your contribution to CDC!
Will keep you update the status.
Thanks,
Jenna Jo
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
PSoC 4 デバイスでファームウェアから UART の Tx と Rx ピンを制御する - KBA224950 - Community Translated (JA)
Hello, Tanaka-san
Your translation has been published.
As a token of appreciation, you will receive the point.
Please note that giving a point will be done in middle of May.
Sorry for the delayed response.
Thank you for your contribution.
Regards,
Jenna