◎PIC16F1823/PIC12F1822
・RA3(MCLR)を入力ピンとして使用するためには、Configuration wordの設定でMCLRをOFF、LVPをOFFにする必要があります。xc8のプログラム例
#pragma config MCLRE = OFF
#pragma config LVP = OFF
◎PIC12F629/675/683, PIC16F630/627A/628Aなど
・コンパレーターの入力と共有しているピンをデジタルI/Oとして使用する場合、コンパレーターの設定を変更する必要があります。CMCONレジスタのbit0-2を111にします。デフォルトでは000になっているため、コンパレーターの入力に接続されています。xc8のプログラム例
CMCON = 0b00000111;
◎PIC10F200/220など
・GP2を入出力ピンとして使用するためには、OSCCALレジスタのbit0(FOSC4)を0にする必要があります。デフォルトは0なので、基本的には気にしなくても大丈夫なはずですが。データシートより
bit 0 FOSC4: INTOSC/4 Output Enable bit(1)
1 = INTOSC/4 output onto GP2
0 = GP2/T0CKI applied to GP2
xc8のプログラム例
OSCCALbits.FOSC4 = 0;
◎PIC24F04KA200/201など
・クロック設定:内蔵オシレータ+PLLx4の場合、デフォルトでは16MHz。CLKDIVレジスタのRCDIVのデフォルト値が001のため。32MHzにするためにはRCDIV=000にする。データシートより
bit 10-8 RCDIV<2:0>: FRC Postscaler Select bits
001 = 4 MHz (divide by 2) (default)
000 = 8 MHz (divide by 1)
XC16のプログラム例
#pragma config FNOSC = FRCPLL
・・・
CLKDIVbits.RCDIV = 0b000;
・XC16で遅延命令__delay_ms()を使うためには、libpic30.hをインクルードする前にFCYを定義する。FCYは命令サイクル(=クロック÷2)
#define FCY 16000000
#include <libpic30.h>