[Armadillo:02133] Re: シリアル受信でデータ取りこぼし
Yasushi SHOJI
email@hidden
2007年 10月 1日 (月) 17:38:28 JST
At Sat, 29 Sep 2007 23:00:44 +0900,
Hiroki Nakamura wrote:
>
> > また、テストに使用したArmadillo-9のユーザランドイメージですが、
> > http://armadillo.atmark-techno.com/howto/free-com1
> > にある、inittab(atmark-dist-20070914/vendors/AtmarkTechno/Armadillo-
> > 9/etc/inittab)の変更までを行なった状態で、ビルドしたイメージを使用してい
> > ます。
>
> ビルドする必要があったのでしょうか?ビルドは、していませんでした。
> CFカードに構築した/etc/inittabの内容を
> > http://armadillo.atmark-techno.com/howto/free-com1
> に従って、書き換えただけでした。
>
> 起動時、COM2から起動ログが出力され、COM1側には、
> 何も出力されていなかったため、COM1とCOM2のチェンジは
> 成功したと思っておりました。
大丈夫だと思います。
> 申し遅れましたが、シリアル送受信に関しては、
> 以下4つの処理だけを特化して、スレッド化しています。
> 1. 他スレッド(アプリ側)からのメッセージを受信
> 2. 1.で受信したデータをシリアルへ送信
> (状態を持っており、1.と2.は、同時に動作させない。)
> 3. シリアルからのデータを受信
> 4. 3.で受信したデータを他スレッド(アプリ側)へメッセージ送信
> (状態を持っており、3.と4.は、同時に動作させない。)
>
> 4.を「読み捨てる」だけにした場合、シリアルデータの
> 取りこぼしが無くなっているようです。※フロー制御なしで。
> (yashiさまに提示されていた方法ですね。。。)
>
> 現在、プログラムを見直し中です。
また、なにかわかったら教えてください。
--
yashi
armadillo メーリングリストの案内