-シリアル通信では,シリアルデバイスを介して外部からデータが入力される.プログラム上では,read関数を用いて外部から入力されたデータを読み取る.この読み取りに関して,シリアルデバイスでは大きく分けて2種類の入力処理がある. --カノニカル入力処理(デフォルト) ---外部からの全ての入力は,行単位で処理される.つまり,readによって得られるデータは1行全体である.よってデータは以下のいずれかで終わる. ~NL(ASCIIのLF) ~ファイル終端 ~行終端文字 ~注意点としては,標準の設定ではCR(DOS/Windowsのデフォルトの行終端文字)は行終端とはならない. --非カノニカル入力処理 ---read関数を呼び出す際に読み込むデータの大きさを指定する方法である.特に,プログラムが決まった文字数のキャラクタを読み込む時や,接続したデバイスが大量の文字を送ってくる場合に使用する.