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

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

地デジトップへ戻る

このページについて

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

ポートを変更する方法

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

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

(はじめに) 古い 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とストレート
ケーブル接続

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

シリアル(RS-232C)が無い現在のパソコンの場合は、USB・シリアル(RS-232C)変換ケーブルで、USBに変換してから接続します。本ページの冒頭のような 9ピンの D-sub 端子のRS-232C信号の場合は、そのままマイコンのUARTピンに接続することは出来ません。前述のライン・ドライバー・レシーバを経由してUART信号に変換してから、マイコンへ接続します。
FTDI Chip社のUSB-SerialチップFT232RL等を使えば、ライン・ドライバー・レシーバなしにマイコン等の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)
規格 EIA-232など デバイス依存
マイコンとの
接続方法
ライン・ドライバー・
レシーバ経由クロス接続
直接、クロス接続
(必要に応じて電圧変換)

仮想シリアルドライバ

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ポート番号」の設定が出てくるので、ポート番号を変更する

希望の番号に設定できない場合

設定はCOM1〜COM256までが行えますが、希望の番号に設定できない場合もあります。例えば、他のデバイスが使用中の場合です。
この場合、希望のポートを占領している他のデバイスのCOMポート番号を変更するか、削除します。まず、設定したいポートを使用しているデバイスをパソコンに接続します。デバイスマネージャで、当該デバイスのCOMポートが表示されたら、当該デバイスをダブルクリックし、タブ「ドライバー」に移り、デバイスのアンストール」を行います。
但し、マザーボード上やパソコン内部で使用しているポートは、変更しない方が良いでしょう。

Windows 7以降では、希望のポートを使用していたUSBデバイスが手元にない場合、同じCOMポート番号に重複して設定することが出来ます。ただし、同じCOMポート番号に設定していた(古い)USBデバイスを、誤って接続してしまうと、Windowsそのものに支障をきたし、OSがハングアップする場合があります。

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がハングアップする場合もあります。とくに、シリアルポートはハードウェアと密接に関わっている部分なので、慎重に実施しましょう。

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

地デジトップへ戻る


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

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