pp.102-106
4つあるスイッチにそれぞれ割り当てたLEDを点ける。前回までは__CONFIG()
でコンフィギュレーションビットを設定していたが、それだとエラーが出るので#pragma config
に変えた。ただしどちらでもコンパイルはとおる。
#include <xc.h> #pragma config FOSC = INTOSC #pragma config WDTE = OFF #pragma config MCLRE = OFF #define _XTAL_FREQ 4000000 int main(){ OSCCON = 0x68; // 4 MHZ TRISA = 0x0f; // ポートAの下位4ビットのIOをINにする。0でOUT、1でIN。 ANSELA = 0x00; // ポートAを全部ディジタル入力端子にする。 TRISB = 0x00; // ポートBのIOを全部OUTにする。0でOUT、1でIN。 while(1){ // スイッチを押すと0 (点灯)が、放すと1 (消灯)がポートAに入力される。 // ポートBの上位4ビットは常に消しておくので0xf0とORする。 LATB = PORTA | 0xf0; } return 0; }