Windows 10対応
シリアルへの接続とCOMポート番号の割り当ての変更方法

by ボクにもわかる地上デジタル

地デジトップへ戻る

このページについて

本ページでは、RS-232C信号とUART信号の取り扱い方法や、USB シリアルアダプタを Windows 10 を搭載した)パソコンに接続したときのシリアルポート(COMポート)の設定方法、COMポート番号の変更方法について説明します。さらに、希望の番号に設定できない場合の対策方法についても説明します。

ポートを変更する方法

希望の番号に設定できない場合の対策方法

古い Windows 3.x/95/98 パソコンとの接続方法

クロスケーブルとストレートケーブル

RS-232Cケーブル
RS-232C ケーブルの D-sub 9ピン コネクタ オス(PC側)

Windows 10 搭載パソコンへの接続

シリアル信号線をパソコンに接続するには、「USB・シリアル(RS-232C)変換ケーブル」等で、USBに変換してから接続します。
シリアル(RS-232C)が搭載されている古いパソコンについては、古い Windows 3.x/95/98 パソコンとの接続方法を参照してください。

RS-232C 信号 と UART 信号

シリアル信号には、RS-232C、UART、RS-422、RS-485など、いくつかの種類があります。ここでは RS-232Cと UARTについて説明します。

RS-232C 信号

上図のような 9ピンの D-sub 端子や、その信号をRS-232Cと呼びます。
信号の電圧には、正電圧(プラス)と負電圧(マイナス)が用いられ、±5V(または、±10V、±12V、±15Vなど)の電圧で通信を行います。
ただし、RS-232Cの規格名称は、 EIA RS-232-C、EIA-232-D、TIA/EIA-232-E、TIA/EIA-232-F、ANSI/TIA-232-F-1997、TIA-232-F(2012年時点) と変化していたり、当初の EIA RS-232-C には上図のような9ピンは定義されていません。
つまり、RS-232C規格といっても、実際の規格 EIA RS-232-C を示すのではなく、一般的なWindowsやMS-DOSを搭載したPC用の 9ピン の DピンD-Sub コネクタのものを示します。

UART 信号の USB 変換

RS-232C信号には、負電圧が必要でした。一方、UART は パソコンやマイコンの基板上で使いやすいように、RS-232C信号を正電圧と0Vの信号に変換した信号です。
UARTの正電圧(プラス)には、基板上で取り扱う電圧に合わせて、5V、3.3Vなどが用いられます。
FTDI Chip 社の USB-Serial チップ FT232RL 等を使えば、UART信号をUSBに変換し、パソコンに接続することが出来ます。

RS-232C 信号の USB 変換

市販のUSB RS-232C 変換器で、RS-232C信号をUSBに変換し、パソコンに接続することができます。

RS-232C 信号の UART 変換

RS-232C信号を、そのままマイコンなどのUART端子に接続することは出来ません。ライン・ドライバー・レシーバを経由してUART信号に変換してから、マイコンへ接続してください。

RS-232C 信号と UART 信号の違いの一例
項目 RS-232C 信号 UART 信号
信号名 TX, RX, RTS, CTS,
DTR, DSR, CD, RI,
GND
TX, RX, RTS, CTS,
GND
電圧範囲 ±5〜15V (1.8V/3.3V/5V) CMOS
論理 EIA-232
1: -3V以下(-12V)
0: +3V以上(+12V)
3.3V CMOS
0: 0.8V以下(0.0V)
1: 2.3V以上(3.3V)
規格 TIA-232-F デバイス依存
マイコンとの
接続方法
ライン・ドライバー・
レシーバ経由クロス接続
直接、クロス接続
(必要に応じて電圧変換)

仮想シリアルドライバ

USB・シリアル(RS-232C)変換ケーブルやUSB-Serialチップを使用した場合、パソコンへ仮想シリアルドライバやINFファイルのインストールが必要になります。インストール方法はそれぞれ異なります。古いWindowsでは、予めドライバソフトをインストールしておき、デバイスをUSBへ接続していました。
Windows 7や、Windows 8、Windows 10では、デバイスをUSBへ接続するだけでインストールできるようになりました。ただし、一部、事前にドライバソフトが必要なUSB機器も残っています。

COMポートの設定

ドライバのインストールが完了したら、パソコンのCOMポートの設定を行います。デバイスマネージャの「ポート(COMとLPT)」を選択してダブルクリックすると、認識しているCOMポートが表示されますので、目的のポートをダブルクリックして通信ポートのプロパティを開いてください。下図・下側の「ポートの設定」タブを選択すると、通信設定が行えます。


デバイスマネージャの「ポート(COMとLPT)」を選択


通信ポートのプロパティの「ポートの設定」タブで通信設定を行う


デバイスマネージャCOMポートを変更する

デバイスマネージャの「ポート(COMとLPT)」から、USBシリアルアダプタをダブルクリックし、「ポートの設定」タブを選択後、「詳細設定」を押すと、「COMポート番号」の設定が表示されます。ここで、ポート番号の変更が出来ます。


USBシリアルアダプタをダブルクリック


「ポートの設定」タブを選択、「詳細設定」を押す


「COMポート番号」の設定が出てくるので、ポート番号を変更する
但し、マザーボード上やパソコン内部で使用しているポートは、変更しないほうが良いでしょう。

希望のCOMポート番号に設定できない場合

COMポート番号はCOM1〜COM256の範囲内で設定することが出来ますが、希望の番号に設定できない場合もあります。例えば、使用するアプリケーションがCOM1〜COM4までしか対応していない場合などで、既にCOM1〜COM4を他のデバイスで使用中の場合です。
この場合、希望のポートを占領している他のデバイスのCOMポート番号を前節の方法で変更するか、COMポート番号を削除します。他にも、同時に使用しないデバイスであれば、同じCOMポート番号に(重複して)設定する方法もあります(ただし、Windows 7以降、Vista、8、10に限る。また、同じCOMポート番号のUSBデバイスを、誤って接続してしまうと、Windowsそのものに支障をきたし、OSがハングアップする場合がある)。
COMポート番号を削除する方法は、以下に記します。

COMポート番号を削除したい場合

削除したいデバイスを持っている場合は、そのデバイスをパソコンに接続します。デバイスマネージャで、当該デバイスのCOMポートが表示されたら、当該デバイスをダブルクリックし、タブ「ドライバー」に移り、デバイスのアンストール」を行います。

デバイスが手元にない場合は、デバイスマネージャの「表示」メニューから「非表示のデバイス」をクリックし、不要なデバイスを削除します。

COMポート番号の「使用中」を強制的に消したい場合

占領しているデバイスが見つからない場合や、Windows 95、98、XPなどを使用している場合に、強制的にCOMポート番号の「使用中」占領を解くには、regeditで「HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\COM Name Arbiter」の「ComDB」を編集します。
ComDBは32バイト256ビットのコードです。1バイト目からポート1が第0ビット、ポート8が第7ビットを示しています。使用中のポートのビットは1、不使用ビットは0です。
例えば、ポート1とポート3が使用中なら「0000 0101」となり16進数で「05」になります。下図の例ではポート1〜7が使用中であることを示しています。


「ComDB」を編集する

なお、実際には他で使用していることになっているポートを使うので、それまで占領していたCOMポートのデバイスを、再度接続することは避けましょう。エラーが発生するばかりか、場合によっては、Windowsそのものに支障をきたして、OSがハングアップする場合もあります。とくに、シリアルポートはハードウェアと密接に関わっている部分なので、慎重に実施しましょう。

以上の情報によって、不具合や問題が発生したり、被害を被ったとしても、当方は一切の責任を負いません。

古い Windows パソコンとの接続方法

かつてのWindows搭載パソコン(PC/AT互換機など)には、シリアル端子(RS-232C端子)が標準装備されていました。シリアル端子付きのパソコンに、マイコンなどの UART信号ピン(TXDとRDX)を接続するには、ライン・ドライバー・レシーバを使用してレベル変換する必要があります。代表的な変換ICとして、MAXIM社のMAX232Aや代替品のAnalog Devices社ADM232A、ADM3202ANなどがあり、秋月電子通商などで売られています。

クロスケーブルとストレートケーブル

RS-232C シリアル・ケーブルには「クロスケーブル」と「ストレートケーブル」があります。パソコン側の RS-232C D-sub 9ピン端子(一般的にオス)の3番ピン(TX)送信出力を、デバイス側(マイコン+ADM232Aなど)の D-sub 9ピン端子の2番ピン(RX)受信入力に(交差させて)接続したい場合は、クロスケーブルを使用します。このとき、パソコン側の2番ピン(RX)は、デバイス側の3番ピン(TX)に接続されます。
また、パソコン側の3番ピン(TX)送信出力を、デバイス側の D-sub 9ピン端子の3番ピンの受信入力に接続したい場合は、ストレートケーブルで接続します。
一般的には、オス端子同士をメスのクロスケーブルで接続し、オス・メス端子間をオス・メスのストレートケーブルで接続することが多いですが、オス/メスの取り扱いは機器によって異なるので、説明書やデータシートで確認する必要があります。

RS-232C D-sub 9ピン端子の接続方法(一例)
PC側 RS-232C
(一般的に)オス端子
マイコン側 RS-232C (D-sub 9pin)
(一般的に)オス端子 (一般的に)メス端子
TX Out (3) RX In (2) TX In (3)
RX In (2) TX Out (3) RX Out (2)
RTS Out (7) CTS In (8) RTS In (7)
CTS In (8) RTS Out (7) CTS Out (8)
DTR Out (4) DSR In (6) DTR In (4)
DSR In (6) DTR Out (4) DSR Out (6)
PCとの接続方法   PCとクロス
ケーブル接続
PCとストレート
ケーブル接続

地デジトップへ戻る


Arduino互換ボード AE-ATmegaの製作と使い方

XBeeモジュール用ピッチ変換基板