あなたの質問に実際に答えるために、私は通常、エラーで受け取ったものはすべて破棄します。エラーの内容とUARTハードウェアの詳細によっては、UARTハードウェアの再初期化が含まれる場合があります。
唯一の例外は、意図的に休憩を受け取りたい場合です。それらはフレーミングエラーとして表示されます。その場合、特別な条件として、より高いレベルまでのフレーミングエラーを渡します。ただし、帯域外情報を上位レベルに渡す必要があるため、UARTレシーバーインターフェイスは、バイトストリームを取得するほど単純なものとは見なされません。ブレークが意図的に使用されていた古いシステムとの互換性が必要だったため、多くのマイクロコントローラープロジェクトでこれを1回だけ実行したと思います。
スティーブンは、より高いレベルでこれについて何をすべきかについていくつかの良いアイデアをあなたに与えました。エラーが実際に発生する可能性があり、データの整合性が重要であると考える場合は、通常、データのチャンクをチェックサム付きのパケットにカプセル化します。受信側は、正しく受信したチェックサムごとにACKを送信します。
ただし、ほとんどの場合、UARTエラーは非常にまれであり、絶対的に重要ではないため、高レベルで無視することができます。UARTハードウェアがキャッチできるエラーの種類は通常、回線ノイズではなく、オペレーターの愚かさによるものです。ほとんどのようなノイズは、UARTが検出しない不良データを引き起こします。したがって、低レベルのUARTドライバーは、UARTエラーに関連するすべてのものをスローしますが、それ以外の場合は、受信したバイトのストリームを次のレベルまで渡し続けます。実際、パケットとチェックサムを使用している場合でも、個々のバイトが受信される場所よりも高いレベルで行われるため、これが行われます。