RXCHR btfss PIR1,RCIF ;(1)受信データがあるかチェック goto $-1 ;(2)なければ受信するまでチェックを繰り返す ; エラーかチェックする btfss RCSTA,OERR ;(3)オーバラン・エラーか? goto CHK_FERR ;(4)オーバラン・エラーではない bcf RCSTA,CREN ;(5)オーバラン・エラーを消す bsf RCSTA,CREN ; goto RXCHR ;(6)もう一度受信する CHK_FERR btfss RCSTA,FERR ;(7)フレーミング・エラーか? goto RCV_END ;(8)フレーミング・エラーではない movfw RCREG ;(9)フレーミング・エラーを消して、次の受信を行う goto RXCHR ;(6)もう一度受信する RCV_END movfw RCREG ;受信データをwレジスタへ代入 return リスト5-8 Copyright 2005 Noriaki Mitsunaga