· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.WIN32 —› COM порт - как юзать бит чётности????

Посл.отвђт Сообщенiе


Дата: Сен 25, 2004 15:42:09

Проблема в чём: для передачи байта

Код:
GetCommState(hComPort, &dcb);
dcb.fParity = false; // сами будем устанавливать этот бит
dcb.Parity = MARKPARITY; // установим бит чётности
SetCommState(hComPort,&dcb)
DWORD writen = 0;
BYTE bt = 0x35;
WriteFile(hComPort, &bt, 1, &writen, 0);

GetCommState(hComPort, &dcb);
dcb.fParity = false; // сами будем устанавливать этот бит
dcb.Parity = SPACEPARITY // сбросим бит чётности
SetCommState(hComPort,&dcb)
writen = 0;
bt = 0x12;
WriteFile(hComPort, &bt, 1, &writen, 0);


т.е. я хочу передать один байт с установленым битом чётности а другой нет.

Но возникает проблема а при приёме как мне узнать у какого из принятых байт установлен бит чётности, а у какого нет???

Ведь ReadFile возвращает токо сам байт!


Дата: Сен 25, 2004 21:01:11

AFAIK, если чётность не совпадает, то ReadFile никакой байт не вернёт!


Дата: Сен 25, 2004 23:04:39

Quantum - так я при приёме SetCommState'ом тоже устанавливаю режим не проверять содержания бита чётности (хотя и передаю его) и принимает байты - как за родину. Вот токо проверить с каким битом чётности пришёл байт - вот проблема!


Дата: Сен 26, 2004 01:35:35

Точно! Невнимательно прочитал. Извиняюсь.


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.089