串口无法打开,错误2?

时间:2014-03-29 19:38:08

标签: c++ windows serial-port

我在Windows 7上用C ++打开串口时遇到问题。我想通过USB线将串行数据从我的电脑发送到另一台。我从各种在线资源中找到的代码如下:

#include <windows.h>
#include <stdio.h>

int main()
{
    // Define the five bytes to send ("hello")
    char bytes_to_send[5];
    bytes_to_send[0] = 104;
    bytes_to_send[1] = 101;
    bytes_to_send[2] = 108;
    bytes_to_send[3] = 108;
    bytes_to_send[4] = 111;

    // Declare variables and structures
    HANDLE hSerial;
    DCB dcbSerialParams = {0};
    COMMTIMEOUTS timeouts = {0};

    // Open the highest available serial port number
    fprintf(stderr, "Opening serial port...");
    hSerial = CreateFile(
                "COM8", GENERIC_READ|GENERIC_WRITE, 0, 0,
                OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0 );
    if (hSerial == INVALID_HANDLE_VALUE)
    {
            fprintf(stderr, "Error\n");
            printf ("CreateFile failed with error %d.\n", GetLastError());
            return 1;
    }
    else fprintf(stderr, "OK\n");

程序永远不会超过这一点,它抛出的错误是“错误2”。根据我的阅读,我认为这对应于“系统无法找到指定的文件”。但是它不会打开我尝试使用的任何COM端口。我也试过“\\。\ COM8”,但无济于事。有谁知道可能导致这个问题的一些常见问题?是否有任何特定于硬件的问题需要注意?

0 个答案:

没有答案