[Armadillo:02091] Re: シリアル受信でデータ取りこぼし
Yasushi SHOJI
email@hidden
2007年 9月 26日 (水) 16:25:58 JST
Hiroki Nakamura さんは書きました:
> ご回答有難うございます。
>
>> a9の com2はフロー制御できませんが、だいじょうぶですか?
>
> 大丈夫でないです。
(^^;
http://armadillo.atmark-techno.com/howto/free-com1
>> としていると思うのですが、大量のデータの場合 do_something()に時間がか
>> かり、次のフレームを読み込めず fifoがあふれたりしませんか?
>> プログラムを「ただ読み捨てる」ように変更すると受信データ量が
>> 送信側と同じになりませんか?
>
> 処理を軽減したところ、受信出来るようになりました。
> しかし、実際にはもっと大きいデータを扱う必要があるので、
> フロー制御(com1)の使用を検討する必要がありますね。
フロー制御しても良い環境であればそれが簡単かもしれませんね。
具体的には、どのような処理をしているかによりますが
- thread化する
- 逐次処理する ie. 1byteづつread()していくとか
- とりあえず、溜め込む
など、通信パターンによっては他にも方法があるかもしれません。
--
yashi
# serial driverのbufferサイズを変更できたような気がするが
# 思い出せない...
armadillo メーリングリストの案内