シリアル通信について質問です。
デバイスオープンのところで、この関数で気になることがありました。
tcflush(fd, TCIFLUSH);
ネットではこのように説明されていました。
http://linuxjm.osdn.jp/html/LDP_man-pages/man3/t …
tcflush() は fd が行っているデータの出力でまだ転送されていないもの、あるいは受信し たがまだ入力していないものを破棄する。いずれを行うかは queue_selector の値で定める:
TCIFLUSH 受信したが読んでいないデータをフラッシュする。
TCOFLUSH 書いたが送信していないデータをフラッシュする。
TCIOFLUSH 受信したが読んでいないデータ・書いたが送信していないデータ両方 をフラッシュする。
ここでは、フラッシュは「転送」という意味になっていました。この説明を見ると、
受信と読み込み、書き込みと送信では意味が違うという説明がされていました。
僕は同じような意味なのかと思っていましたが実際違うのでしょうか。
この違いが分かる方、教えていただけると幸いです。
宜しくお願いします。
No.1ベストアンサー
- 回答日時:
このような場合、フラッシュ (flush)とは、綺麗にするとか、洗い流すとか、そんな意味です。
https://dictionary.goo.ne.jp/srch/en/flush/m1u/
通信とか、ファイル入出力とかでは、逐次処理せずに、いったん溜めてから処理することがあります。
例えるなら、
出力: 葉書を書くけど、すぐに出さずに、何枚かまとまったら出しにいく
入力: 届いた葉書を、届いた瞬間にその場で読むのではなく、いったん郵便箱に溜めておいて、順番に読む
という感じです。
ですが、これで終わり、となったとき、あるいは、ここで一旦区切りをつけたい、というとき。
途中までで残ったものを処理する必要があります。
上の例では、出す前のたまった葉書、郵便箱にたまった葉書をキレイにするということです。
このような処理を、コンピュータ用語で「フラッシュ」と言います。
ここで、出力と入力とで、求められるものが違います。
出力は、中途半端だろうと、残ったものを送るのが自然です。
一枚の葉書でも、送ろうとして書いた以上は、実際に送りたいものです。
ですから、全部送信しきってしまう、というのが、出力に対するフラッシュとなります。
入力の方は、これ以上読む必要なくなったから、他に影響が無いように、キレイにするのがよいです。
郵便箱に残った葉書はいらないものです。
それを廃棄するのが、入力に対するフラッシュです。
(残っているデータが必要なら、そのまま読み続ければいいのであって、フラッシュは不要です)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
名古屋の栄と錦は治安悪い?
-
『μg』の読み方と意味。
-
NumericUpDownの数値を選択済み...
-
テキストボックスからフォーカ...
-
VB.NETのテキストボック...
-
テキストボックス内のカレット...
-
Creating default object from ...
-
マイクロSDとSDカード
-
VB.NET でのLaod/unLoad につ...
-
CD-RWメディアにマジックで書い...
-
C#での変数スコープ?
-
C++の例外処理
-
perlのエラー処理
-
トライバーストができるマシン...
-
ヒント表示について
-
画像処理のラプラシアンフィル...
-
バイナリデータからFlashを表示...
-
フォームを開く時のイベント処理
-
自動ドアのセンサーの変更
-
word
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
名古屋の栄と錦は治安悪い?
-
『μg』の読み方と意味。
-
テキストボックスからフォーカ...
-
VB.NETのテキストボック...
-
vba メモリーリーク
-
NumericUpDownの数値を選択済み...
-
フォームを開く時のイベント処理
-
項目数は英語で
-
VB.NET でのLaod/unLoad につ...
-
mailの送信音がしなくなったの...
-
VBのレコードセットを閉じない...
-
一部の文字のみ文字化けします
-
C#での変数スコープ?
-
ブック開いたときのフォーカス指定
-
【C#】 複数行GcTextBoxのフォ...
-
C言語の関数の実引数と仮引数の...
-
C++の例外処理
-
メディアンフィルタ
-
HDDクラッシュするのはなぜ・・...
-
エアー漏れの流量の計算式を教...
おすすめ情報