Re[3]: Получение информации об устройстве? COM
От: Alex_13  
Дата: 18.06.04 10:41
Оценка: 1 (1)
Здравствуйте, Nine, Вы писали:

N>Я кажется не правильно сформулировал вопрос. То есть сообщение состоит из самих данных и кончается символом EofChar, как я понял. Ну и вот: нужно ли мне знать EofChar, что бы считать все сообщение?


Никаких eofChar тебе не нужно трогать, входящее сообщение кончается когда будет принято заданное тобой в ReadFile() кол-во байт, или превышен интервал между отдельными байтами.
Порт можно настроить так:

HANDLE OpenPort(int nPort)
{
    char szPort[10];
    sprintf(szPort, "COM%d", nPort);
    HANDLE hPort = CreateFile( szPort,
        GENERIC_READ | GENERIC_WRITE,
        0,
        NULL,
        OPEN_EXISTING,
        0,
        0);
    if (INVALID_HANDLE_VALUE == hPort) return hPort;
    //
    // Изменение настроек СОМ-порта
    DCB dcb;
    dcb.DCBlength = sizeof(DCB);
    //
    BOOL err = GetCommState(hPort, &dcb);
    if (FALSE == err) return INVALID_HANDLE_VALUE;
    //
    dcb.BaudRate    = 115200;
    dcb.ByteSize    = 8;
    dcb.Parity    = NOPARITY;
    dcb.StopBits    = ONESTOPBIT;
    //
    err = SetCommState(hPort, &dcb);
    if (FALSE == err) return INVALID_HANDLE_VALUE;
    //
    return hPort;
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.