0
嗨 我有一個調制解調器和win32 api的問題。調制解調器沒有響應win32 api
當我從我的源代碼打開通信端口端口準備好接收命令,但調制解調器不寫輸出。我寫的所有命令都由調制解調器處理,但是我沒有收到調制解調器的輸出。
如果我使用超級終端連接調制解調器,然後使用我的軟件,然後調制解調器工作成功。
我的代碼如下:
bool open() {
unsigned long confSize = sizeof(COMMCONFIG);
winCommConfig.dwSize = confSize;
DWORD dwFlagsAndAttributes = 0;
if (!isOpen()) {
winHandle = CreateFileA(port.toAscii(), GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING,
dwFlagsAndAttributes, NULL);
if (winHandle != INVALID_HANDLE_VALUE) {
/*
* Configure the port settings.
*/
GetCommConfig(winHandle, &winCommConfig, &confSize);
GetCommState(winHandle, &(winCommConfig.dcb));
/*
* Configure port parameters.
*/
winCommConfig.dcb.fBinary = TRUE;
winCommConfig.dcb.fInX = FALSE;
winCommConfig.dcb.fOutX = FALSE;
winCommConfig.dcb.fAbortOnError = FALSE;
winCommConfig.dcb.fNull = FALSE;
setBaudRate(settings.BaudRate);
setDataBits(settings.DataBits);
setStopBits(settings.StopBits);
setParity(settings.Parity);
setFlowControl(settings.FlowControl);
setTimeout(settings.TimeoutMillisec);
/*
* Set the final parameters.
*/
SetCommConfig(winHandle, &winCommConfig, sizeof(COMMCONFIG));
SetCommState(winHandle, &(winCommConfig.dcb));
}
}
return isOpen();
}
Where:
port represents the comm port
baudrate: 115200
databits: 8
stopbits: 1
parity: none
flowcontrol: off
我在做什麼錯?
如果我使用jablocom gdp-04,會發生這種情況。當我使用其他調制解調器(華爲,Novatel,...)時,它可以很好地工作。
在此先感謝。 此致敬禮。
非常感謝!它工作正常! – althor 2011-04-11 07:16:27