Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Передача данных в com порте [D5, XP]


FOXi ©   (2007-04-09 17:48:00) 

Привет всем, помогите пожалуйста разобраться с ком портом, у меня мультиметр который подсоединяется к ком порту, и хотелось бы снимать данные на комп. На форме вот такой текст:
var
  stcom:pchar;
  bb:boolean;
  msg:tagMSG;
  pdcb: tdcb;
  pcom,xb,xn:thandle;
  st:string;
  i:integer;
begin
 stcom:='com1';
pcom:= createfile (stcom,generic_read,0,nil,open_existing,0,0);
if getcommstate(pcom,pdcb)then stcom:='com1: baud=19200 parity=n data=8 stop=1'
else;
if buildcommdcb(stcom,pdcb) then setcommstate(pcom,pdcb)
else;
while (msg.message<>wm_keydown) do
begin
bb:=readfile(pcom,xb,1,xn,nil);
if not bb then break;
st:=st+' '+inttostr(xb);
if length(st) mod 32=0
then st:=st+chr(10)+chr(13);
label1.caption:=st;
peekmessage(msg,form1.handle,0, 0,pm_remove);
application.processmessages;
end;
end;
передача данных происходит в label который выдает вот такой поток данных :
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
128 128 0 192 128 128 128
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 128 128 0 128 0 0 128 128 0
128 128 0 192 128 128 128 192
0 128 128 0 128 0 0 128 128 0
128 128 0 192 128 128 128 192
Что это значит и как с этим разобраться ?


Сергей М.   (2007-04-10 14:02:00) [1]


> Да я просто код из проги выдернул, не буду же все выкладывать?


Глупости в интерпретации логики работы метода Application.ProcessMessages тоже оттуда "выдернул" ?


FOXi   (2007-04-10 13:56:00) [2]

LGCOmSpy++ — хорошая вешь, но тока дял COM1 COM2

пасибки а мне ком порт и нужен


Kolan   (2007-04-10 13:53:00) [3]

> Не, а вообще кто нибудь может посоветовать, какие нибудь
> стандартные проги которые считывают данные с rс232? или
> работают с ним ?

LGCOmSpy++ — хорошая вешь, но тока дял COM1 COM2


FOXi   (2007-04-10 13:38:00) [4]

> читаем сообщение из очереди, если оно есть потом удаляем
>А обрабатывать его кто будет ? Пушкин что ли ?
> потом отчищяем очередь сообщений
>Чего ?!!

Да я просто код из проги выдернул, не буду же все выкладывать?


FOXi   (2007-04-10 13:36:00) [5]

Не, а вообще кто нибудь может посоветовать, какие нибудь стандартные проги которые считывают данные с rс232? или работают с ним ?


Сергей М.   (2007-04-10 13:34:00) [6]


> читаем сообщение из очереди, если оно есть потом удаляем


А обрабатывать его кто будет ? Пушкин что ли ?


> потом отчищяем очередь сообщений


Чего ?!!


Kolan   (2007-04-10 13:33:00) [7]

> Хе-хе:-) порога есть, стойт 2.5 американских рублей :-)?
> где такие бабки взять ?

Я тоже «каен» хочу, 100000$ где такие бабки взять?


FOXi   (2007-04-10 13:30:00) [8]

не понял вопроса peekmessage(msg,form1.handle,0, 0,pm_remove);-читаем сообщение из очереди, если оно есть потом удаляем
а потом отчищяем очередь сообщений


Сергей М.   (2007-04-10 13:25:00) [9]


> peekmessage(msg,form1.handle,0, 0,pm_remove);


А эт что за выкрутасы с выкидыванием сообщения в мусор ?


FOXi   (2007-04-10 13:17:00) [10]

Хе-хе:-) порога есть, стойт 2.5 американских рублей :-)? где такие бабки взять ?


Германн   (2007-04-10 01:07:00) [11]


> FOXi ©   (09.04.07 20:23) [3]
>
> Это байты — данные.
> Документацию ищи от прибора…-я это прикрасно понимаю
> А что даст документация ? протокол передачи данных стандартный
> RS232 все что в доке есть....
>

Неужели нет программы от производителя? Или жаба душит её купить? :)

А вообще очень впечатляет строка:

> bb:=readfile(pcom,xb,1,xn,nil);

:)))


FOXi   (2007-04-09 20:23:00) [12]

Это байты — данные.
Документацию ищи от прибора…
-я это прикрасно понимаю
А что даст документация ? протокол передачи данных стандартный RS232 все что в доке есть....


Kolan   (2007-04-09 18:21:00) [13]

> Что это значит и как с этим разобраться ?

Это байты — данные.
Документацию ищи от прибора…


&gt;&gt;DEATH&lt;&lt;   (2007-04-09 17:58:00) [14]

если не ошибаюсь то мультиметр это чет для получения информации о эл.токе значит
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
128 128 0 192 128 128 128
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 128 128 0 128 0 0 128 128 0
128 128 0 192 128 128 128 192
0 128 128 0 128 0 0 128 128 0
128 128 0 192 128 128 128 192
это и есть вся информация и она както зашифрован..попробуй расшифровать..я думаю так


Наверх

Титульная страница Поиск, карта сайта Написать письмо