Как записать в COM-порт код ASCII?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
radist108
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 27.09.2011 (Вт) 21:44

Как записать в COM-порт код ASCII?

Сообщение radist108 » 27.09.2011 (Вт) 21:49

Подскажите, как должна выглядеть запись в COM порт в строке MSComm1.Output =
0A F0550500 0D одной командой.
Точно знаю что в шестнадцатиричном виде это должно передаться как 0A46303535303530300D

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Как записать в COM-порт код ASCII?

Сообщение Хакер » 28.09.2011 (Ср) 5:55

radist108 писал(а):0A F0550500 0D одной командой.
Точно знаю что в шестнадцатиричном виде это должно передаться как 0A46303535303530300D

Уважаемый шифратор, расскажи, как ты из первой полочил вторую, оставив крайние пары символов, и не ведомым образом заменил центральные?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

radist108
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 27.09.2011 (Вт) 21:44

Re: Как записать в COM-порт код ASCII?

Сообщение radist108 » 28.09.2011 (Ср) 9:53

в общем нужно отправить команду F0550500 (это просто слово в ASCII) в Com порт с "переводом строки" и "возвратом каретки"

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Как записать в COM-порт код ASCII?

Сообщение Хакер » 28.09.2011 (Ср) 9:54

radist108 писал(а):F0550500

Это хекс-дамп данных или сами данные?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

radist108
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 27.09.2011 (Вт) 21:44

Re: Как записать в COM-порт код ASCII?

Сообщение radist108 » 28.09.2011 (Ср) 10:22

Это смии данные. Есть еще T0550500 и т.д.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Как записать в COM-порт код ASCII?

Сообщение Хакер » 28.09.2011 (Ср) 10:25

Код: Выделить всё
MSComm1.Output = "T0550500" + vbCrLf

В чём проблема-то это сделать была?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

radist108
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 27.09.2011 (Вт) 21:44

Re: Как записать в COM-порт код ASCII?

Сообщение radist108 » 28.09.2011 (Ср) 12:11

Понял Спасибо.
а в каком виде данные отправляются в COM? И какие обозначения применяются. Шестнадцатиричный код например как будет выглядеть для отправки в COM? (Chr, &H и т.д.)
И чем отличается символ сложения + от &

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Как записать в COM-порт код ASCII?

Сообщение Хакер » 28.09.2011 (Ср) 12:32

radist108 писал(а):а в каком виде данные отправляются в COM?

В данном случае пойдут байты, значения которых соответствуют ascii-кодам соответствующих символов в строчке, а затем два байта со значениями 13 и 10 (ascii-коды символов CR и LF).

radist108 писал(а):И какие обозначения применяются. Шестнадцатиричный код например как будет выглядеть для отправки в COM? (Chr, &H и т.д.)

Непосредственно к COM-порту это не имеет никакого отношения. &Hjj обозначает, что jj — не 10-ричная форма записи числа, 16-чная. Chr — это просто функция, которая из числа делает односимвольную строчку, содержающую символ, код которого с учётом текущей кодировки равен переданному числу.

radist108 писал(а):И чем отличается символ сложения + от &

В данном случае (стоит между двумя строковыми константами) — ничем не отличается. В общем случае отличается тем, что амперсанд может стоять между числом и строкой, а плюс не может. Амперсанд сделает автоматическое приведение операндов к типу String, если тип операндов отличается от String-а, а плюс не сделает, а выдаст ошибку Type missmatch.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Yandex-бот и гости: 46

    TopList