マイクロテクニカ製品サポートFAQ
[一覧] [1つ前に戻る] [マニュアル及び各種ダウンロードページへ]
PIC16F1827などAPFCONがあるデバイスでUART通信をする場合の設定について
PIC16F1827などのデバイスでは、ハードウエア周辺回路の利用可能なピンをユーザーが変更することができます。
例えば、PIC16F1827の場合、リセット後の初期化状態のデフォルト設定ではUART通信のRXピン・TXピンは RX=>RB1、 TX=>RB2 となっています。

このピン設定はAPFCON0およびAPFCON1レジスタのRXDTSELビットおよびTXCKSELビットの設定によってそれぞれ RX=>RB2、TX=>RB5 に割り当てを変更できます。

・RX=>RB1、 TX=>RB2の場合
APFCON0.B7 = 0;
APFCON1.B0 = 0;

・RX=>RB2、TX=>RB5の場合
APFCON0.B7 = 1;
APFCON1.B0 = 1;


APFCON0のビット7とAPFCON1のビット0に1をセットして、ピンのアサインをデフォルトの設定状態から変更した場合には、必ずUart1_Init()関数を記述した後に、TRISBレジスタを設定してください。
Uart1_init()関数実行前にTRISBレジスタを設定してもRXピン(RB2)が正しく設定されません。

下記の例を参考にプログラミングしてください。


APFCON0.B7 = 1;
APFCON1.B0 = 1;

Uart1_Init(9600);
TRISB = 0b00000100;


RB2を入力ピンとして設定します。
オリジナル - FAQみたいです - 猫でいいです