Winapi 调制解调器未响应win32 api

Winapi 调制解调器未响应win32 api,winapi,serial-port,modem,Winapi,Serial Port,Modem,嗨 我的调制解调器和win32 api有问题 当我从源代码打开comm端口时,端口已准备好接收命令,但调制解调器不写入输出。我写的所有at命令都由调制解调器处理,但我没有收到调制解调器的输出 如果我使用超级终端连接调制解调器,断开连接,然后使用我的软件,则调制解调器工作正常 我的代码如下: bool open() { unsigned long confSize = sizeof(COMMCONFIG); winCommConfig.dwSize = confSize;

嗨 我的调制解调器和win32 api有问题

当我从源代码打开comm端口时,端口已准备好接收命令,但调制解调器不写入输出。我写的所有at命令都由调制解调器处理,但我没有收到调制解调器的输出

如果我使用超级终端连接调制解调器,断开连接,然后使用我的软件,则调制解调器工作正常

我的代码如下:

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等)时,它工作得非常好

提前谢谢。 问候

流量控制:关闭

设备在看到RTS和DTR信号处于活动状态之前不会发送任何内容,这表明您已“联机”并准备好接收。您需要设置fRtsControl=RTS\U CONTROL\U ENABLE和fDtrEnable=DTR\U CONTROL\U ENABLE。顺便说一句,启用硬件握手不会伤害到设备,前提是设备能够正确地实现它,特别是在调试时非常方便。另外,使用超级终端或油灰进行基本检查,以确保接线正常