シリアル送受信をスレッドにすることをします。
「割込み処理は極力短く書く」という鉄則を守るためです。

そもそもなんでかというと、割込みの延長である処理を実施したときにその処理の最中は一切割込みを受け付けられなくなります。要はスレッド切替ができなくなるわけです。

たとえばシリアルからの受信文字を組み立ててコマンドとして解釈し応答するということを考えて見ます。

それなりに複雑な処理になるということで、これを割込みの内部で実施するには適さないのです。

そんな場合は、割込みハンドラですべての処理を実施するのではなく、処理用スレッドを別に起動しておいて、そちらに受信文字を渡してもらいたいという構造が適しています。