错误打开端口

时间:2013-01-10 06:30:28

标签: c++ visual-studio-2005 stub

我的问题是我尝试使用不同的port_name检查,例如7或14或25.它不会打开或处理串行数据,句柄只与if条件匹配并且它正在关闭手柄。代码有什么问题吗?

void command_handler::start()
{
    char port_name[] = "COM7:";     /* Name of the serial port */

    serial_port = CreateFile(port_name, GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0);
    /* Make sure port was opened */

    if (serial_port == INVALID_HANDLE_VALUE)
    {
        fprintf(stderr, "Error opening port\n");
        printf("I'm here");
        CloseHandle(serial_port);
        exit(0);
    }
    set_up_serial_port(serial_port, baud_rate);
    process_serial_data = false;
}

1 个答案:

答案 0 :(得分:0)

您是否尝试过以下命名:

char port_name[] = "\\\\.\\COM7";

第二个问题可能是CHARWCHAR的差异。我认为您应该向API发送WCHAR字符串。