Renesas Synergy™

FAQ 105210 : PCR(ポート制御)レジスタの応用例を教えてほしい。

M16Cファミリのプログラマブル入出力ポートでは、入出力方向の設定と出力ポート時のレベル("H"または"L")の設定によって、3ステートの出力("H"、"L"、"Hi-z")が可能です。
ある(CMOS)端子を擬似的にNチャネルオープンドレイン端子として使用する場合、"L"出力と"Hi-z"が必要となり、入出力を切り替えて実現します。しかし、擬似Nチャネル端子が入力ポート("Hi-z")のときに、ポートレジスタを共有する他のポート(例えば、P0_0を擬似Nチャネル端子として使用した場合のP0_1~P0_7)を出力ポートとして使用し、リードモデファイライト命令にて出力データを書き換えた場合、同時に擬似Nチャネル端子のポートレジスタも、外部レベルを反映して書き換わる可能性があります。
この場合、擬似Nチャネル端子を出力に戻すときに、事前にポートレジスタを"0"に戻す必要があります。

PCRレジスタを使用すると、入力ポートに設定した場合にも、外部レベルでなく、ポートラッチの値を読んで、ポートレジスタに書き込むことが可能です。上記のような場合に、「ポートレジスタを"0"に戻す」処理を削減することができます。

適用製品

M16C/62A
M16C/62A(M16C/62T)
M16C/62M
M16C/62N
M16C/62N(M3062GF8NFP, M3062GF8NGP)
M16C/62P (M16C/62P, M16C/62PT)
M16C/63
M16C/64A
M16C/64C
M16C/65
M16C/65C
M16C/6C
M16C/6N4, M16C/6N5
M16C/6NK, M16C/6NL, M16C/6NM, M16C/6NN
M16C/5L, M16C/56
M16C/5LD, M16C/56D
M16C/5M, M16C/57
M16C/30P
M16C/29
M16C/28 (M16C/28, M16C/28B)
M16C/26A (M16C/26A, M16C/26B, M16C/26T)
他にご質問がございましたら、リクエストを送信してください