關於BCB 開RS232的問題 |
缺席
|
w9190040
一般會員 發表:6 回覆:3 積分:1 註冊:2012-04-17 發送簡訊給我 |
目前在寫RS232溝通問題
void __fastcall TMainForm::CheckComPort(void) { char *ComNo; DCB dcb; String mTemp; mComPortErr=false; //取得欲開啟的通訊埠 mComName=ComboBox1->Text.UpperCase(); //轉換至指標型態 ComNo = mComName.c_str(); hComm = CreateFile(ComNo,GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, 0); if (hComm == INVALID_HANDLE_VALUE) //如果COM 使用中 { // MessageBox(NULL, "開啟通訊埠錯誤!!","ERROR",MB_OK); ShowMessage("Open " mComName " Port Error!!"); mComPortErr=true; CloseHandle(hComm); return; } //將dcb位址傳入,以取得通訊參數 GetCommState(hComm,&dcb); //得知目前COM 的狀態 dcb.BaudRate = CBR_115200; //設定鮑率為115200 dcb.Parity = NOPARITY; //Parity 為 None dcb.ByteSize = 8; //位元組為 8 bit dcb.StopBits = ONESTOPBIT; //1 個Stop bit //通訊埠設定 if (!SetCommState(hComm, &dcb)) //設定COM 的狀態 { ShowMessage("Open " mComName " Port Error!!"); mComPortErr=true; // MessageBox (NULL, "通訊埠設定錯誤!!","ERROR",MB_OK); CloseHandle(hComm); return; } } 這是目前小弟所開啟com的程式 小弟想請問各位大大 不知道有沒有辦法可以把使用中的com 強制的釋放然後再重新建立呢?? |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |