全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2482
推到 Plurk!
推到 Facebook!

關於BCB 開RS232的問題

缺席
w9190040
一般會員


發表:6
回覆:3
積分:1
註冊:2012-04-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2013-07-02 16:14:52 IP:211.72.xxx.xxx 訂閱
目前在寫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 強制的釋放然後再重新建立呢??
系統時間:2024-11-21 21:35:19
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!