R8C UART0 オーバーランエラーの原因

R8C/M36シリーズで、UART0を使用して、RS232C通信を行っていますが、たまにオーバーランエラーが発生します。

メインクロックは20MHzで、ボーレートは115200bpsです。

受信データの取込は、以下の割込み関数内で行っています

割り込みを処理を行う前、またはデータ読み込み前に何か設定することはあるのでしょうか?

また、通信速度が速いとオーバーランエラーは、まれに発生することはあるのでしょうか?

だれか教えてください。

//割り込みは常に許可

#pragma interrupt _uart0_receive(vect=18)
void _uart0_receive(void){

  bRecvData.word = u0rb; //受信データ読み込み

 if( bRecvData.byte.high & 0xF0){

      //エラー判定  エラー状態の場合は、必ずオーバーランエラーのフラグが立っている。

  }

}

  • 現状は、多重割り込みをしないということで、割り込み関数には/Eは使用していません。受信割込み処理のみに、/Bを使用して高速化して、オーバーランエラーはでていません。