ポーリングでデータ送信されているのでしょうか? その場合、ハードウエアマニュアルP.13-13〜P.13-14 に書かれているTDREフラグのクリア条件は満足していますか? 具体的に言いますと、 1)TDREフラグをリードする。 2)TDRE='1'ならデータをTDRにライトする。 3)その直後、直ぐにTDREフラグに'0'をライトして、フラグをクリアする。 恐らく3)を行っていないのではないかと思います。 3)を怠ると、TDREが'1'のまま残ってしまうため、次にTDREを ポーリング(読みこみ)しても、本当にさっきライトしたデータが TSRから吐き出されてTDREが'1'になったかどうかが判定できません。 >そもそもこれはH8/3048 全部の癖なのですか? SCIに限らず、H8のステータスレジスタのフラグの多くはDMA を除いて、ソフト側で意識的にそのフラグを1回リードし、次にゼロ (0)クリアしてフラグを落とすやり方です。 これはZ80などのステータスレジスタの動作と少し違いますので、 最初は戸惑うかも知れません。 PS. できればテキストモードでメールをしていただくと、返信しやすい のですが・・・ 鈴木