|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
21.06.2007, 17:23 | #1 |
Регистрация: 18.06.2007
Сообщений: 6
|
Как записать в com -порт или модем двоичные данные
Присоедидяюсь к устройству - работает.Команды передает и получает в текстовом формате(WriteFile(hCommFile, PChar(PhoneCommand)^, Length(PhoneCommand), NumberWritten1, nil) //PhoneCommand:string Задача передать двоичные данные и принять ответ в двоичных данных!Как реолизовать?
|
21.06.2007, 17:57 | #2 |
Пользователь
Регистрация: 31.05.2007
Сообщений: 56
|
А как выглядят двоичные данные? ))
|
21.06.2007, 18:52 | #3 |
Регистрация: 18.06.2007
Сообщений: 6
|
Увы там ничего про это нет
Увы там ничего про это нет
|
21.06.2007, 18:53 | #4 |
Регистрация: 18.06.2007
Сообщений: 6
|
8 бит 11111111 = 0xFF - двоичные данные
|
21.06.2007, 20:05 | #5 |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
что за глупый вопрос? любое число, стоку, массив можно представить как двоичные данные
|
22.06.2007, 09:31 | #6 |
Пользователь
Регистрация: 31.05.2007
Сообщений: 56
|
Вот и пиши
BitData: Byte = $FF; WriteFile(hCommFile, @BitData... |
22.06.2007, 15:02 | #7 |
Регистрация: 18.06.2007
Сообщений: 6
|
спасибо, а я то в итоге написал свою функцию преобразования - хорошо, что легкая! Может подскажите еще как получить ответ от com устройства? С помощью ReadFile или другой функции? А то у меня ошибку выдает! Я еще повожусь если найду ответ напишу.
|
22.06.2007, 16:34 | #8 |
Пользователь
Регистрация: 31.05.2007
Сообщений: 56
|
Дождаться готовности порта через WaitCommEvent + EV_RLSD и читать через ReadFile в свой буффер.
|
25.06.2007, 11:55 | #9 |
Регистрация: 18.06.2007
Сообщений: 6
|
Да я уже понял что чтение com гемор, нашел статью хорошую почитал, но там куча параметров и на Си написано. Переписал под делфу запускаю сом виснет - наверное ответа ждет или отрубается! Разбираться надо, а времени нет! Подскажите пожалуйста.SetCommMask( hCommFile,EV_RXCHAR); ov.hEvent := CreateEvent( 0,true,TRUE,0); WaitCommEvent(hCommFile,dwEventMask , (ov)); if ( WaitForSingleObject(ov.hEvent,INFIN ITE) = WAIT_OBJECT_0) then begin ReadFile( hCommFile,szBuf,sizeof(szBuf),dwByt esRead,ov); while (dwBytesRead > 0 )do begin ReadFile( hCommFile,szBuf,sizeof(szBuf),dwByt esRead,ov); end; end;
|
25.06.2007, 12:36 | #10 |
Пользователь
Регистрация: 31.05.2007
Сообщений: 56
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Двоичные деревья | Raz0r | Помощь студентам | 7 | 11.12.2011 10:32 |
Двоичные деревья. 3 задачки. Срочно | rustam29 | Фриланс | 9 | 13.06.2009 18:02 |
Как записать данные в другую программу? | Спартак | Общие вопросы Delphi | 23 | 19.04.2008 22:33 |
Двоичные и шестнадцатеричные числа | Rembo | Помощь студентам | 9 | 13.11.2007 19:08 |