C言語またはC++を使ってCOMポートから送信されてくる情報を表示するプログラムを作成したいのですが、どんな感じのプログラムを打てばいいのか分かりません。もしわかる人がいましたら教えてください、できればプログラム付で教えてもらえればうれしいです。よろしくおねがいします。

A 回答 (2件)

OSによってかなり変わるんじゃないですかね。


こういう、デバイスの操作っていうのは。

しかし、結局どのOSでもやるべきことは、

1 COMポートのハンドルの取得
2 接続されている機器に合わせてCOMポートのパラメータ設定
3 読みだし/書き込み

じゃないでしょうか。

とりあえず、UNIX系のOSではこんな感じ。
ただし、/dev/ttyS1の部分は、OSによって
かなり変化します。

int fd;
struct termios term;
char c;

/* COM1と接続されているファイル(/dev/ttyS1)のオープン */
fd = open("/dev/ttyS1",O_RDWR|O_EXCL);

/* COM1の現在のパラメータを取得 */
tcgetattr(fd,&term);
/* 通信速度を9600ボーに設定 */
cfsetispeed(&term, B9600);
cfsetospeed(&term, B9600);

/* 1文字8ビット、ストップビットを2に */
set(term.c_cflag, CS8|CSTOPB);
/* さらに必要な設定をしていく */
.....
/* 設定したパラメータを実際にCOM1に適用 */
tcsetattr(fd,TCSANOW,&term);

/* 1文字読み込み */
read(fd, &c, 1);

/* 1文字書き出し */
write(fd, &c, 1);
    • good
    • 0

CommポートはReadFileで読み出すことが出来ます。



参考URL:http://www.na.cache.waseda.ac.jp/~suzuta/
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ