Вниз
Скачать: CL | DM;

IntToHex   Найти похожие ветки 

← →
led ©   (2003-07-10 13:35) [0]

Мастера, кто подскажет?
Нужно послать в порт команду: 02h 32h 55h 42h
Верно ли я делаю (перевел команду из 16 в 10):
inttohex (2,2) +" "+inttohex(50,2) +" "+inttohex(85,2) +" "+inttohex(66,2), то есть получаю из десятичной системы HEX?
И нужно ли разделители ставить +" "+ ?


← →
Digitman ©   (2003-07-10 13:47) [1]


> Нужно послать в порт команду


что за устройство ?
почему именно в строковом формате ?


← →
led ©   (2003-07-10 13:55) [2]

Устройство контролер весов, на табло -вес и его надо считать в прогу, послав команду 02h 32h 55h 42h
Посылаю строку, потому что использую компонент ComPortLibrary:
ComPort.WriteStr(здесь строка);


← →
MBo ©   (2003-07-10 13:59) [3]

большинству устройств нужно посылать последовательность байт
writebyte($02);
writebyte($32);
и т.д.
или разом

ByteArr[0]:=2;
ByteArr[1]:=$32;
WriteBuf(Bytearr, DataLength);

Есть такие, которым нужно именно строковое представление типа
writestring("RDCHNL 1"#10);
но к твоему случаю, это, видимо, не относится.


← →
led ©   (2003-07-10 14:16) [4]

А если я отошлю так, как я написал ComPort.WriteStr (строка), где строка собственно сам 16-ный код: 02h 32h 55h 42h или нужно
$2 $32 $55 $42 ?
К сожелению, сейчас нет под рукой весов,что бы сразу попробывать.


← →
MBo ©   (2003-07-10 14:19) [5]

скорее всего, так пойдет -

строка:=#2#$32#$55#$42;
ComPort.WriteStr (строка);



← →
Digitman ©   (2003-07-10 14:25) [6]


> led


и что ? документации на программный интерфейс контроллера весов у тебя нет ?


← →
led ©   (2003-07-10 14:40) [7]

Спасибо, ребята, что откликнулись!
В этом и проблема, что нет никакой информации. Знаю только команду, которая записывается в порт, иммулируется нажатие Энтер и через ComPort.ReadStr должна возвращать то, что на табло.

Это строка:=#2#$32#$55#$42 + #13(перевод каретки);
( строка) Спасибо, ребята, что откликнулись!
В этом и проблема, что нет никакой информации. Знаю только команду, которая записывается в порт, иммулируется нажатие Энтер и через ComPort.ReadStr должна возвращать то, что на табло.

Это строка:=#2#$32#$55#$42 + #13(перевод каретки);
ComPort.WriteStr (строка);
Это знак пробела # ?Сегодня устрою проверку.


← →
Digitman ©   (2003-07-10 14:46) [8]


> led


нет, ну а почему ты решил, что весы ожидают команду именно в строковом представлении ?


← →
led ©   (2003-07-10 14:50) [9]

просто пока не придумал как запустить на порт команду, а так вроде пойдет


← →
MBo ©   (2003-07-10 15:00) [10]

;)


← →
Digitman ©   (2003-07-10 15:08) [11]


> пока не придумал ..., а так вроде
> пойдет


ну дерзай)


← →
pasha676   (2003-07-10 17:28) [12]

Хватить народ веселить. Посылать надо число в хексе. А inttohex(85,2) тебе даст строку. Ты понимаешь разницу между строкой и хексом? Если нет то отойди от весов, сломаешь нафиг. Млин, насчет знака пробела тоже сильно :)


← →
WarLord ©   (2003-07-10 22:46) [13]

По инструкции мне надо было посылать команды типа 44h - сработало CHR($44)
Также и тебе: 02h 32h 55h 42h - это будет
ComPort.WriteStr(Chr($02)+Chr($32)+Chr($55)+Chr($42))


← →
Германн ©   (2003-07-11 02:17) [14]

2 WarLord © (10.07.03 22:46)
Очень похоже на шаманство. :(((

Ребята! Led и WarLord а может быть стоит пойти на уроки Ю.Зотова. Тогда бы не было фраз, типа сработало. А были бы фразы, типа надо делать так.


← →
pasha676   (2003-07-11 09:53) [15]

2WarLord

> По инструкции мне надо было посылать команды типа 44h -
> сработало CHR($44)


ну так прочти наконец инструкцию. Что там написано. Послать байт 44h или послать символ с кодом 44h. Суть вещи разные.


← →
WarLord ©   (2003-07-11 13:13) [16]

2pasha676
Цитирую инструкцию: "код команды (в двоичной системе) 01000100"
вот и понимай как хочешь...

2Германн
Надо, конечно, сходить, не спорю.


← →
DieHard ©   (2003-07-11 15:49) [17]

2 pasha676:
и чем же эти вещи отличаются?


← →
Nucl ©   (2003-07-11 16:28) [18]

ё, да шли и так и так, в одном из слючает весы тебе ответят ;)


← →
Anatoly Podgoretsky ©   (2003-07-11 19:34) [19]

WarLord © (11.07.03 13:13)
А так и понимай, именно послать код $44, как:
$44
68
"D"
чтобы значение было 68 в десятичном исчислении, оно же 01000100 в двоичном.
А вот что бы все это понять как раз и нужны уроки ЮЗ, тогда не будешь плавать между исчисления и представлениями.



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

Скачать: CL | DM;



Память: 0.49 MB
Время: 0.017 c
1-71695
Denizzz
2003-09-11 09:42
2003.09.22
Где скачать документацию?


6-71799
Z_man7777
2003-07-21 14:46
2003.09.22
Локальный чат


9-71460
[Baradoo]
2003-03-20 22:22
2003.09.22
Как использовать DirectSound при создании таких эффектов как Echo


1-71734
SergLight
2003-09-11 16:37
2003.09.22
Константа версии Delphi


1-71638
Razorblade
2003-09-08 09:18
2003.09.22
Проверка откр. / закр. тага в таблицах HTML...




   Наверх