シリアルの調査

***本記事にはプロモーションが含まれています。***

シリアルポートについて調べてみました。
調べてみて、シリアルポートの使い方って歴史が古いなって感じました。なんといっても、Win95やWin3.1のころからあるわけで、現在までの間でCPUは10倍以上速くなっているわけですし。9x系からNT系に変わっているわけだし、プログラムの作り方も変わっていると思ったほうがいい気もします。
見ていると、シリアルのチップによっても癖があるみたいな報告もあって、なかなかどこでも動くプログラムを作るのは難しそうです。
プログラム上の問題は、大別すると2つあって、1つはシリアルポートの設定に関するもの、もう1つはAPIの使い方、スレッド、イベントの使い方になります。ネットワークのときのような定番となる使い方が見つけられないことが難しいところです。
参考にしたサイトは、次のようなところです。データの受け渡しが気になって、マルチスレッドを使ったものを調べてみました。Microsoftのサンプルがあるけど、よくわからなかった。CodeGuruのサンプルのほうが簡単かもしれません。CREATORS BANK, TETRAEDRE, Parsley, Expert Exchangeのサンプルは、MinGW用に少し変更して動かしてみました。貴重な情報に感謝。
CREATORS BANK
http://www.geocities.jp/terukat/_geo_contents_/win/index.html
TETRAEDRE
http://www.tetraedre.com/advanced/
Parsley's Web Resource
http://blog.so-net.ne.jp/SpicyParsley/2005-02-18
How to collect data from monitors
http://www.med.osaka-u.ac.jp/pub/anes/www/software/DataAcquisition.html
Expert Exchange
http://www.experts-exchange.com/Programming/Q_21083345.html
WindowsでRS232Cを使う
http://members.jcom.home.ne.jp/0434383301/vc10.htm
マルチスレッドの通信
http://homepage2.nifty.com/DSS/WinSys/Win/commthread.htm
CodeGuru
http://www.codeguru.com/Cpp/I-N/network/serialcommunications/article.php/c2503
Serial Communications in Win32 (MTTTY)
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnfiles/html/msdn_serial.asp