Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2003.09.22;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.01 c
1-71691
Vorobyev Sergey
2003-09-11 09:46
2003.09.22
Как узнать параметры функций в DLL?


3-71497
www
2003-09-01 14:24
2003.09.22
Сохранение изменений в форме


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


14-71946
Dmitriy O.
2003-09-02 16:28
2003.09.22
Как можно получить палитру 256 цветов Виндовс


3-71547
ddenis
2003-08-29 15:31
2003.09.22
текстовые поля MS Access





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский