| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Разъяснение (пояснение) схемы ЗАПРОС-ОТВЕТ |
| Автор: Pakshin A. S. 30.8.2006, 09:26 |
| Есть устройство, подключенное к COM порту компьютера. Есть пример-табличка запроса, который читает три параметра с устройства: |
| Автор: Pakshin A. S. 30.8.2006, 09:29 | ||
| И есть пример ответа устройства: Добавлено @ 09:34 Вопроса два, но по одной и той же теме, а именно по табличкам. 1) В каком виде мне отправлять запрос (в том же виде ко мне придет ответ), если я работаю с портом через CreateFile(). Что-то типа вот этого?
Поясните это момент с видом строки... 2) Вот есть значения байтов в ответе. Они представлены в шестнадцатеричной системе. Как они переводятся в нормальное значение параметров? Код был бы идеален, хотя и от алгоритма не откажусь.. Заранее громадное спасибо! |
| Автор: Yanis 30.8.2006, 10:02 |
Вот это вот непонятно. Что значит нормальное представление? Десятичное? И вообще вопросы какие то жидкие |
| Автор: Romikgy 30.8.2006, 10:36 |
| имхо проще создать 2 массива байтов один для передачи , второй для приема, или даже сразу структуру сделать , и просто указатель на нее в ридфайл передавать |
| Автор: Yanis 30.8.2006, 11:20 | ||
MakeLong??? |
| Автор: Romikgy 30.8.2006, 12:06 | ||
только имхо лучше не word а byte юзать , а еще лучше структуру создать |
| Автор: Pakshin A. S. 30.8.2006, 12:08 | ||
Жирно будет.. Вот тут балуюсь с процедурой перевода:
Выводит 211, а по промеру должно быть 132... |
| Автор: Romikgy 30.8.2006, 12:15 |
| Pakshin A. S., на кой те тут строки? имхо самый раз |
| Автор: Pakshin A. S. 30.8.2006, 12:18 |
Люблю две вещи: наглядность и целые числа.. Ну ладно... Уговорили.. А разве по сути, кроме более культурного представления в коде это ничего не меняет? |
| Автор: Romikgy 30.8.2006, 12:21 | ||||||||
типа такого Добавлено @ 12:23
удобство доступа я их тоже люблю
Добавлено @ 12:31 юзая
SwapW для доступа к nach_adr, count , par0 SwapDW -//- par1,par2,par3 это для нормального вида |
| Автор: Pakshin A. S. 30.8.2006, 12:38 | ||
А я думал, что
|
| Автор: Romikgy 30.8.2006, 12:45 | ||
Добавлено @ 12:46 можно и так , ты ведь пишешь |
| Автор: Pakshin A. S. 30.8.2006, 12:52 | ||||||||
Так вызывать?
Кстати, работает только вот такой вид:
Выдает нуль... Я вот тут переписал не особо думая...
Считает, но результат не верен.. Добавлено @ 12:54 Гы... Получил перный роезультат:
На знак не обращаем внимание... |
| Автор: Romikgy 30.8.2006, 12:58 | ||
переработал |
| Автор: Pakshin A. S. 30.8.2006, 13:09 |
| Теперь мучаюсь с MakeLong... Как я понял, эта фугкция делает из чисел C2 и 0D число С20D... Так? А как четыре числа слить в одно? |
| Автор: Romikgy 30.8.2006, 13:13 | ||
|
| Автор: Pakshin A. S. 30.8.2006, 13:44 | ||
| Спасибо за неоценимую помощь и науку!!! Добавлено @ 13:53 Число 4443DCCD подал в функцию... Ответ должен быть 783,45.. А получается 55... Что-то не то... Это пример из таблички второй, где описывается пример ответа... Добавлено @ 13:56 А вот тупая переписка процедуры дала верный результат...
|
| Автор: Romikgy 30.8.2006, 14:03 | ||
значит не этот алгоритм надо юзать
а что то другое Добавлено @ 14:09 это я не заметил щаз |
| Автор: Pakshin A. S. 30.8.2006, 14:12 | ||
Тут не верно складываются числа... И знак не определяется... |
| Автор: Romikgy 30.8.2006, 14:14 | ||||
во терь нормально
Добавлено @ 14:19
это почему? ды знака там нет значит + |
| Автор: Romikgy 30.8.2006, 14:30 | ||||
все 3 параметра обрабатывает нормально Добавлено @ 14:35
меньше работы с дробным число |
| Автор: Pakshin A. S. 30.8.2006, 21:45 | ||
| Угу... Я тут еще и своё доработал:
|