OTO-Ohshima Tamashima Observatory-  Index  Search  Changes  Login

COMポート COM10以上の指定

WinowdsでCOM10以上のシリアルポートを指定する方法

Rubyでシリアルポート通信を扱う便利なライブラリーserialportがありますが、 SerialPort.new() で、ファイル名に "COM1" から "COM9" を使用した場合は、正常に機能しますが、USBで"COM10" またはそれ以上のポート番号を使用すると、

serialport.rb:7:in `create': No such file or directory - COM10 (Erron::ENOENT)

というエラーメッセージを吐いて終了します。

ポート名が、\\.\COM10 となる場合は、SerialPort.new()で以下の様に設定すれば、シリアルポートを正しく設定することができることがわかりました。

require 'rubygems'
require 'serialport'

#sp = SerialPort.new("\\\\.\\COM10", 9600,8,1,SerialPort::NONE)
#簡単には、次の省略形でよさそう
sp = SerialPort.new("\\\\.\\COM10", 9600)

sp.read_timeout=0

while c= sp.gets('$')
  puts c
end

詳しくは

http://support.microsoft.com/kb/115831/ja

参照のこと


技術的な覚書きへ戻る

OTO-Ohshima Tamashima Observatory-トップへ戻る

1058
Last modified:2010/02/27 12:01:37
Keyword(s):
References:[技術的な覚書き]