掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
MFCでソフトを作ったときに、連続処理をするには? (ID:62204)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
comset()は1回しか呼んでいません。 comset(),send()の内容は以下の通りです。 1度はsendできているので、このソースに誤りはないと思っているんですが、 いかがでしょうか?? void Csample7Dlg::comset(void) { hComm = CreateFile("COM1", GENERIC_READ|GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); //COM通信パラメータを格納しているDCB構造体を設定する。 DCB lpDCB; GetCommState(hComm, &lpDCB); //if(GetCommState(hComm, &lpDCB)==0)return; lpDCB.DCBlength = sizeof(DCB); lpDCB.BaudRate = 9600; lpDCB.Parity = NOPARITY; lpDCB.StopBits = TWOSTOPBITS; lpDCB.fParity = FALSE; lpDCB.fBinary = TRUE; lpDCB.ByteSize = 8; SetCommState(hComm, &lpDCB); //読み書きできない時のタイムアウト設定 COMMTIMEOUTS timeout; GetCommTimeouts(hComm, &timeout); timeout.WriteTotalTimeoutConstant=1100; timeout.ReadTotalTimeoutConstant=1100; SetCommTimeouts(hComm, &timeout); } void Csample7Dlg::send(string s) { DWORD dw; unsigned char *p; int len = s.size(); p = (unsigned char *)malloc(sizeof(unsigned char) * len+2); for(int i = 0;i < len;i++){ p[i] = s[i]; } p[len] = 0x0D;//CR p[len+1] = 0x0A;//LF WriteFile(hComm,p,len+2,&dw,0); free(p); return; }
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.