Шаг 94 - Функция BuildCommDCB().
Функция:
BOOL BuildCommDCB
(
LPCTSTR lpDef, // строка инициализации
LPDCB lpDCB // структура инициализации
);
Эта функция очень удобна вот в каком плане. Она устанавливает параметры структуры DCB, которую потом можно передать в порт практически также как команда mode. Если кто помнит MS DOS и Нуль модемный кабель и связь между двумя компьютерами. Так вот подаем строку, в ответ получаем структуру DCB. Пример строки.
baud=1200 parity=N data=8 stop=1
Пробуем ???
#include "stdafx.h"
#include "windows.h"
#include "iostream.h"
void main()
{
DCB dcb;
ZeroMemory(&dcb,sizeof(DCB));
char buffer[100];
strcpy(buffer,"baud=1200 parity=N data=8 stop=1");
if (BuildCommDCB((char*)&buffer,&dcb))
{
if (dcb.BaudRate == CBR_1200) cout << "Yes " << endl;
}
else cout << " error config DCB";
}
В случае успешного завершения функция BuildCommDCB() возвращает не нулевое значение, иначе ноль. Эта функция заменяет только явные поля. За некоторыми исключениями.
Для строк вида 9600,n,8,1 (не заканчивающихся символами x или p):
· fInX, fOutX,fOutXDsrFlow, fOutXCtsFlow устанавливаются в FALSE
· fDtrControl устанавливается в DTR_CONTROL_ENABLE
· fRtsControl устанавливается в RTS_CONTROL_ENABLE
Для строк вида 9600,n,8,1,x (заканчивающихся символом х):
· fInX, fOutX устанавливаются в TRUE
· fOutXDsrFlow,fOutXCtsFlow устанавливаются в FALSE
· fDtrControl устанавливается в DTR_CONTROL_ENABLE
· fRtsControl устанавливается в RTS_CONTROL_ENABLE
Для строк вида 9600,n,8,1,p (заканчивающихся символом p):
· fInX, fOutX устанавливаются в FALSE
· fOutXDsrFlow,fOutXCtsFlow устанавливаются TRUE
· fDtrControl устанавливается в DTR_CONTROL_HANDSHAKE
· fRtsControl устанавливается в RTS_CONTROL_HANDSHAKE
Предыдущий Шаг | Следующий Шаг | Оглавление By Artem.
Используются технологии uCoz
|