シリアル通信でファイルの転送するには?

[戻る]
VC 初心者 マサ [E-Mail] 2000/02/08(火) 10:41:55
はじめまして!!
マサと申します

シリアル通信でファイルを送りたいのですが。
さっぱりわかりません教えてください

ららら 2000/02/09(水) 22:58:50
らららです。

以下のようにCreateFile作成して
HANDLE commHandle;

commHandle = CreateFile(
    setCommPort,                                  //  オープンするCOMポート
    GENERIC_READ|GENERIC_WRITE,                   //  アクセスモード
    0,                                            //  共有モード
    NULL,                                         //  セキュリティ属性
    OPEN_EXISTING,                                //  作成フラグ
    FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED, //  属性
    NULL                                          //  コピーする属性付きファイルのハンドル
   );

WriteFile();
ReadFile();
で読み書きできますよ。

VC 初心者 マサ [E-Mail] 2000/02/14(月) 10:01:53
らららさん ありがとうございます。
返事遅くてすみません。

また質問なのですが
この場合、ボーレート、スタートビット、ストップビット、パリティなどは、
どのように設定したらよいのでしょうか?

ららら 2000/02/15(火) 00:19:17
細かい設定は以下のようにDCB構造体を使用します。
DCB dcb;
dcb.BaudRate = setBaudRate;            //  ボーレート
dcb.fParity = FALSE;                   //  パリティチェック
dcb.Parity = NOPARITY;                 //  パリティチェック方式
dcb.ByteSize = 8;                      //  1バイト当たりのビット数
dcb.StopBits = ONESTOPBIT;             //  ストップビット数

dcb.fOutxCtsFlow = FALSE;              //  CTS出力フロー制御
dcb.fOutxDsrFlow = FALSE;              //  DSR出力フロー制御
dcb.fDtrControl = DTR_CONTROL_ENABLE;  //  DTRフロー制御の種類
dcb.fRtsControl = RTS_CONTROL_ENABLE;  //  RTSフロー制御の種類
dcb.fDsrSensitivity = FALSE;           //  DSR信号認識

dcb.fOutX = FALSE;                     //  XON,XOFFフロー出力制御
dcb.fInX = FALSE;                      //  XON,XOFFフロー入力制御
dcb.fTXContinueOnXoff = FALSE;         //  XOFF後も送信を継続    
dcb.XonLim = 2048;                     //  XON送信前に格納できる最小バイト数
dcb.XoffLim = 4096;                    //  XOFF送信前に格納できる最大バイト数
dcb.XonChar = 0x11;                    //  XON文字
dcb.XoffChar = 0x13;                   //  XOFF文字

dcb.fBinary = TRUE;                    //  バイナリーモード
dcb.fNull = FALSE;                     //  NULLバイト破棄
dcb.fAbortOnError = FALSE;             //  エラー時、読み書き操作終了
dcb.fErrorChar = FALSE;                //  パリティエラー時のキャラクタ置換
dcb.ErrorChar = 0x00;                  //  エラー発生時、置換文字
dcb.EofChar = 0x03;                    //  データ終了文字
dcb.EvtChar = 0x02;                    //  イベント通知文字

dcb.DCBlength = sizeof(DCB);           //  DCB構造体サイズ
dcb.wReserved = 0;                     //  未使用

if(!SetCommState(commHandle, &dcb))
{
    return FALSE;
}

そんでSetCommStateでオープンしたCOMMのハンドルに
設定します。

VC 初心者 マサ [E-Mail] 2000/02/15(火) 08:55:38
ありがとうございます。
頑張ってみます。また、何か
よいご意見ありましたらよろしくお願いします。

VC 初心者 マサ [E-Mail] 2000/02/21(月) 20:01:50
[[解決]]
ありがとうございました。
また何かありましたら、よろしくお願いします。

古いスレッドには追加発言できません。