UART(Universal Asynchronous Receiver Transmitter)割込み,
シリアル通信について。

PCとPICの通信ではよく使われる。
最近のPCにはシリアルポートはないのだけど,USBシリアル通信変換モジュール
が販売されていたり,
http://akizukidenshi.com/catalog/g/gK-01977/
無線シリアル通信のXBeeがあったりで,まだまだ用途は多いだろう。
PICがシリアルデータを受信したときの処理について説明しよう。

u1rx_int

UART1 受信の割込み記述方法は以下の通り。 ※1

void __attribute__(( interrupt, auto_psv )) _U1RXInterrupt(void)
{
 unsigned int cmd;

 // 割り込みフラグステータスレジスタ
 IFS0bits.U1RXIF = 0;
 // 受信データを得る
 cmd = ReadUART1();
}

cmdには受信したデータが代入されるので,デバッカで確認するとよい。
デバックについては以下などを参照してください。
XC16 デバッグ(3) Watch 変数を調べる

受信割込許可を記述する必要がある。
 IEC0bits.U1RXIE = 1; // uart1 RX割込み許可

UART1初期化については次のブログで。
------------------------------------------------------
※1 割り込みを使わず,以下のように記述してもよい。
 while(1){
  if(DataRdyUART1()){
   cmd = ReadUART1();
  }
 }