Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.22;
Скачать: 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 вся ветка

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

Наверх




Память: 0.51 MB
Время: 0.037 c
14-71872
Marser
2003-09-04 01:00
2003.09.22
Ёкарный бабай!


1-71623
Alfred
2003-09-09 12:44
2003.09.22
Как вывести Word на экран


6-71817
aa5E1
2003-07-24 11:20
2003.09.22
Имя удаленного компьютера


3-71534
napil
2003-08-29 09:18
2003.09.22
таблица


1-71753
Virgo
2003-09-10 11:24
2003.09.22
Как обработать нажатие клавиш перемещения вправо, влево