シリアルポート
仮想シリアルポートは標準シリアルポートのエミュレーションである。このポートは(拡張カードのような)追加のハードウェアインストールをせずに、オペレーティングシステムのシリアルポートを追加できるソフトウェアにより作成される。たくさんの仮想シリアルポートをPCに作成できる。制限は、多くのシリアルポートを同時にエミュレートするために必要な、操作用メモリや演算能力といったリソースの量だけである。
仮想シリアルポートは、ボーレート、データビット、パリティビット、ストップビットなどを含む全てのハードウェアシリアルポート機能をエミュレートする。さらに全ての信号線 (DTR/DSR/CTS/RTS/DCD/RI) をエミュレートしピンアウトをカスタマイズすることで、データフローを制御することができる。仮想シリアルポートはBluetoothと共に用いることが一般的であり、Bluetooth搭載のGPSモジュールからデータを受信するための標準的な手段である。
速さ、文字ごとのデータビットの数、パリティ、そして文字ごとのストップビットの数を選び抜くため、非同期スタートストップ通信に使用されるシリアル接続には多くの設定が必要となる。UART集積回路を使用する現在のシリアルポートでは、設定は通常全てソフトウェア制御である。1980年代以前のハードウェアでは回路基板にあるスイッチやジャンパの設定が必要なこともある。イーサネット、FireWire、そしてUSBといったシリアルバス規格でもたらされた簡素化の1つに、シリアルバス規格のパラメータの多くが固定された値となっていることが挙げられる。このためユーザは設定を変更できないか、変更の必要がない。速度は固定されるか自動的に取り決められるかのいずれかである。何度設定を間違って入力しても接続は切断されない。しかしながら、受信側では送信されたデータを全て無意味なものとみなす。
シリアルポートはデータ通信を中断したり再開するためにインタフェースの信号を使用することがある。例えば、遅いプリンターはメカニズムが行を進めている間はデータを中断するよう指示するため、シリアルポートを用いたハンドシェイクが必要な場合があった。
ハードウェアハンドシェイク信号(ハードウェアフロー制御)は通常、RS-232 RTS/CTSまたはDTR/DSR信号回線を使用する。一般的に、例えばバッファがほぼいっぱいの場合、RTSとCTSはデータフローを制御するためにどちらか一方のエンドからオンオフされる。DTRとDSRは通常常時オンであり、RS-232規格やその後継規格で、反対側のエンドの装置が実際に存在し起動している各エンドから信号を送るために使用される。しかしながら、例えばDTRをフロー制御に使用するプリンターのように、メーカーは数年に渡り規格に準拠しないバリエーションを実装した多くのデバイスを確立してしまった。
フロー制御の別の方式では、データフローを制御するためにXON/XOFFのような特殊文字を使う。送信者がいつデータを送信するかを制御するために、受信者が送信者に対しXON/XOFF文字を送信する。つまりXON/XOFF文字はデータが送信される方向とは反対方向へ向かう。
パリティは伝送における誤り検出手法である。パリティをシリアルポートで使用する場合、各データ文字と共に余分なデータビットが送信され、パリティビットを含む各文字の1であるビットの数が常に奇数か常に偶数となるよう調整される。間違った1であるビットの数を受信した場合、それを却下しなければならない。しかしながら、誤りの数が偶数であればパリティ検査を通過できる。
電気機械式のテレプリンタはラインノイズで損害を受けたメッセージを発見できるように、受信データがパリティエラーを含む場合に特殊文字を出力するよう調整された。単一のパリティビットでは各文字の誤り訂正を実装できないので、シリアルデータリンクをやり直す通信プロトコルはデータが有効であることを保障し、誤って受信されたデータの再送を要求するハイレベルなメカニズムを有している。