0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

UART(シリアル)通信でオーバーランエラーが発生する

Last updated at Posted at 2025-05-24

受信割り込み処理が終わる前に、次のデータを受信してしまっている可能性があります

割り込み処理では要因のクリアが重要になってきますが、要因クリアのタイミングに気をつけてください。受信割り込み処理中に次のデータを受信したと仮定した場合、要因クリアのタイミングによっては新しく受信したデータの要因までクリアされてしまい、新しく受信したデータの割り込みが入らない場合があります。

受信割り込みよりも優先度の高い割り込みが入ってしまった

受信割り込みの優先度は通常であれば一番高くていいです。

結論、通信速度が速い場合に割り込み処理で受信すると取りこぼす可能性が高くなりますのでDMAを使いましょう

UARTはDMAを使わないと上手く行かないケースが経験上殆どです。
DMAは単なるメモリ転送にとどまらず、あらゆる可能性を秘めたデバイスですので使いこなしてみましょう!

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?