文書番号: 401884
最終更新日: 1999/08/19
/* * BIOS 関数(_bios_serialcom )を使用したサンプルプログラム * このプログラムは、DOS/V 機の標準ポートからデータ (1byte) の送信、受信を * 行っています。 * このサンプルは、DOS/V 機の標準ポートをループバックで接続して送受信動作を * 確認しました。クロスで接続された相手側機器がある場合、このプログラムの * ままでは動作しません。このプログラムはあくまで_bios_serialcom 関数の * パラメータの設定、プログラミングの概要を示すサンプルプログラムです。 */ #include <bios.h> #include <stdio.h> #define COM1 0x0000 void main( void ) { unsigned int c1_stat, mask=0x6100; struct com_t serialcom; /* com_t 構造体パラメータの設定 */ serialcom.baud = _COM_1200; serialcom.parity = _COM_NOPARITY; serialcom.stopbit = _COM_STOP1; serialcom.lengths = _COM_CHR8; /* 標準 シリアルポート を初期化 */ c1_stat = _bios_serialcom(_COM_INIT, COM1, &serialcom); printf("Init status : 0x%4.4X\n", c1_stat); /* 1byte('*') 送信 */ c1_stat = _bios_serialcom(_COM_SEND, COM1, &serialcom); printf("Send status : 0x%4.4X\n", c1_stat); /* 標準 シリアルポート の ステータス を読み出します.*/ c1_stat = _bios_serialcom(_COM_STATUS, COM1, &serialcom); printf("COM1 status : 0x%4.4X\n", c1_stat); /* 準備待ち */ do{ c1_stat = _bios_serialcom(_COM_STATUS, COM1, &serialcom); c1_stat = c1_stat & 0xFF00; /* 下位バイト (モデム状況) マスク */ }while( (mask & c1_stat)==0 ); /* 1byte 受信 */ c1_stat = _bios_serialcom(_COM_RECEIVE, COM1, &serialcom); printf("Read status : 0x%4.4X\n", c1_stat); /* 受信データの表示 */ c1_stat = c1_stat & 0x00FF; /* 上位バイト (回線制御状況) マスク */ printf("Character : 0x%2.2X = %c\n", c1_stat, (char)c1_stat); }
Keywords: C7 KBHOWTO KB401884
Technology: kbAudDeveloper kbVCsearch kbZNotKeyword3 kbZNotKeyword8