マイクロテクニカ製品サポートFAQ
[一覧] [1つ前に戻る] [マニュアル及び各種ダウンロードページへ]
PIC18FxxJxxなどのPeripheral Pin Select(PPS)機能を持つデバイスでUARTを使う例
PIC18FxxJxxなどのデバイスで、PPSによってピンアサインを変更できるデバイスを使う場合、あらかじめ各命令を使用する前に必ずレジスタの設定をして、ピンに目的の機能をアサインする必要があります。

ピンのアサインについてと、PPSの一覧、レジスタの一覧は各デバイスのデータシートをご覧ください。

PPSではもともとのピン名(例えばPORTBのビット0 = RB0)などと異なっており、別にRPxという番号が付いています。RPxの番号とRB0などのピン名とは一致していませんので、必ずデータシートで確認をしてください。
(例 PIC18F25J50の場合→ RB0=RP3, RA0=RP0など)

PBPでPPS機能のついたデバイスを使う場合には、レジスタに値を直接代入して設定してください。


■UART通信をする場合の例

UART通信をする場合でハードウエアUARTを使う場合、HSERIN,HSEROUT命令を使用します。PPSに割り当てられていないハードウエアUARTを使う場合には、HSERIN(OUT)命令を使います。PPSによってユーザーが適宜割り当てたRPxピンを使う場合には、PPS関連のレジスタを設定した後、HSERIN2(OUT)命令を使います。
下記のプログラムはPIC18F25J50を使った場合の例です。

※内蔵発振子8MHz(PLL未使用)
※UART1系統→ TX:RC6 , RX:RC7
※UART2系統(PPS)→ TX:RA1(RP1) , RX:RA0(RP0)

http://github.com/microtechnica/pbp3_pic18f25j50_pps_test
オリジナル - FAQみたいです - 猫でいいです