シリアル通信USB、SPI、I2C通信などもシリアル通信ですが、パソコンの世界でシリアル通信と云えばCOMポートからのRS232C準拠の通信を指すようです。このページのタイトルは単に”シリアル通信”でよいのかもしれません。BCBにはシリアル通信用の標準コンポーネントは用意されていないので、シリアル通信を行う場合は以下の要領でWin32APIを使って通信を行います。コムポート経由の入出力送受信データをファイルのデータと同様に扱い、通信固有の通信条件や設定に関しては専用の関数や構造体を用いるというものです。ファイルをオープンする。CreateFile()関数でオープンしてハンドルを取得します。クリエイトディストリビューション:通常COMポートはすでに存在しているのでOPEN_EXISTINGとします。SetupComm()関数で送受信バッファーの容量を設定します。PurgeComm()関数で送受信バッファーに残っているデータを破棄します。(注)送受信バッファー容量ははドライバー、OSが介在するのでUARTそのもののハードウェア的サイズとはことなります。各種通信条件を設定します。伝送速度、パリティ有無、ストップビット数、CTS/RTSハードウェアフロー制御及び、Xon/Xoffソフトウェアフロー制御の有無や諸定数等の通信条件設定を行います。DCB構造体のメンバー設定後SetCommState()関数にポートハンドルおよびDCB構造体のアドレスを代入します。制御をする場合はTRUEを指定してCTS信号を監視します。一般に0x03(ETX)がよく使われます。タイムアウト時間の設定COMMTIMEOUT(コムポートタイムアウト)構造体の変数を宣言してタイムアウトに関する通信条件を設定します。COMMTIMEOUT構造体のメンバー設定後SetCommTimeOut()関数にポートハンドルおよびDCB構造体のアドレスを代入します。&timeout);//SetCommTimeOut()関数にポートハンドルおよびCOMMTIMEOUTS構造体の//アドレスを代入します。