Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.06;
Скачать: CL | DM;

Вниз

COM порт дубль 2   Найти похожие ветки 

 
Phantomouse ©   (2004-12-14 12:46) [0]

Приветствую!

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

Далее. Согласно протоколу:

Прием и передача байта осуществляется последовательным потоком 11 бит:  1 стартовый бит, 8 бит данных (младшими битами вперед), 9-ый бит данных 0 или 1, 1 стоповый бит...

Передачу информации по протоколу 0 всегда начинает ЭВМ с  команды синхронизации, в которой восемь бит данных содержат номер весов (от 0 до 99), а девятый бит данных устанавливается в 1. Все остальные команды и данные передаются с девятым битом данных, равным 0.

Как передать комаду с девятым битом 1 или 0. А конкретно как настроить КОМ-порт, чтобы эти команды соответствовали схеме
СТАРТОВЫЙ_БИТ-8БИТ_ДАННЫХ-ДЕВЯТЫЙ_БИТ
???

Вот и все :-). Если что-то непонятно объяснил - поясню конкретнее... Хотелось бы получить хотя-бы небольшие примерчики кода :-).


 
DiamondShark ©   (2004-12-14 13:03) [1]


var
 dcb: TDCB;
 ...
begin
 ...
 GetCommState(hPort, dcb);
 dcb.Parity := MARKPARITY;   // 9-й бит = 1 или
 //dcb.Parity := SPACEPARITY; // 9-й бит = 0
 SetCommState(hPort, dcb);
 ...



Страницы: 1 вся ветка

Текущий архив: 2005.02.06;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.04 c
1-1106146857
BaDeVlad
2005-01-19 18:00
2005.02.06
Как поменять текущий Screen-Saver в системе?


14-1105891385
Kerk
2005-01-16 19:03
2005.02.06
ICQ


1-1106556817
DIVERSANT_UA
2005-01-24 11:53
2005.02.06
вопрос по математике


1-1106386053
гость
2005-01-22 12:27
2005.02.06
реестр


1-1106230743
Мальцев
2005-01-20 17:19
2005.02.06
Установить фокус