Все мои старания ни к чему не приводят

Ответов: 26
Рейтинг: 0
|
|||
Люди добрые обьясните как послать в порт 16 байт в HEX без пробелов и перевода строки? Может кто скажет еще как хранить в массиве числа в HEX?
Все мои старания ни к чему не приводят ![]() |
|||
карма: 1 |
|
Разработчик
Ответов: 26300
Рейтинг: 2146
|
|||
N0D, без схемы, по одному описанию, ничерта не поймешь. Так что -- схему в студию.
|
|||
карма: 22 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
N0D писал(а): Может кто скажет еще как хранить в массиве числа в HEX?Такого понятия как "хранение чисел в hex" нет. Запись ввиде hex значения это уже строка, а не число. Лишние байты в порт попадать не могут - тут ошибка в схеме |
|||
карма: 27 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Похоже, у темы должно быть другое название
![]() Врядли тут COM-порт причем хоть с какого-то боку |
|||
карма: 9 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 4 раз(а), последний 2025-01-09 05:41:27 |
|||
карма: 0 |
|
Ответов: 5227
Рейтинг: 587
|
|||
думается массив надо сначало приготовить к отправке
code_2057.txt |
|||
карма: 4 |
| ||
файлы: 1 | code_2057.txt [3.3KB] [518] |
Разработчик
Ответов: 26300
Рейтинг: 2146
|
|||
Гость писал(а): чтобы то же самое ушло одной строкой и в HEX а не в STR |
|||
карма: 22 |
|
Ответов: 26
Рейтинг: 0
|
|||
Спасибо что откликнулись, но это только пол дела. После приготовления к отправке это выглядит вот так:
0.00008549 code_2057.exe IRP_MJ_CREATE Serial0 SUCCESS Options: Open 0.00000307 code_2057.exe IOCTL_SERIAL_GET_BAUD_RATE Serial0 SUCCESS 0.00000196 code_2057.exe IOCTL_SERIAL_GET_LINE_CONTROL Serial0 SUCCESS 0.00000196 code_2057.exe IOCTL_SERIAL_GET_CHARS Serial0 SUCCESS 0.00000196 code_2057.exe IOCTL_SERIAL_GET_HANDFLOW Serial0 SUCCESS 0.00000196 code_2057.exe IOCTL_SERIAL_GET_BAUD_RATE Serial0 SUCCESS 0.00000196 code_2057.exe IOCTL_SERIAL_GET_LINE_CONTROL Serial0 SUCCESS 0.00000196 code_2057.exe IOCTL_SERIAL_GET_CHARS Serial0 SUCCESS 0.00000196 code_2057.exe IOCTL_SERIAL_GET_HANDFLOW Serial0 SUCCESS 0.00000838 code_2057.exe IOCTL_SERIAL_SET_BAUD_RATE Serial0 SUCCESS Rate: 9600 0.00000447 code_2057.exe IOCTL_SERIAL_SET_RTS Serial0 SUCCESS 00 0.00000447 code_2057.exe IOCTL_SERIAL_SET_DTR Serial0 SUCCESS 0.00000335 code_2057.exe IOCTL_SERIAL_SET_LINE_CONTROL Serial0 SUCCESS StopBits: 1 Parity: NONE WordLength: 8 0.00000196 code_2057.exe IOCTL_SERIAL_SET_CHAR Serial0 SUCCESS EOF:0 ERR:0 BRK:0 EVT:0 XON:11 XOFF:13 0.00000363 code_2057.exe IOCTL_SERIAL_SET_HANDFLOW Serial0 SUCCESS Shake:1 Replace:40 XonLimit:2048 XoffLimit:512 0.00000196 code_2057.exe IOCTL_SERIAL_SET_TIMEOUTS Serial0 SUCCESS RI:10 RM:10 RC:10 WM:10 WC:10 0.02822929 code_2057.exe IRP_MJ_WRITE Serial0 SUCCESS Length 32: 656500000000000065656565656565 2.55990133 code_2057.exe IRP_MJ_READ Serial0 TIMEOUT Length 0: 0.00000475 code_2057.exe IRP_MJ_CLEANUP Serial0 SUCCESS 0.01028119 code_2057.exe IRP_MJ_CLOSE Serial0 SUCCESS данные выстроились в строку, НО это по прежнему STR а не HEX! Обратите внимание отправлено 32 байта, а должно быть 16, т.е. программа отправляет шестнадцатиричное число как два символа. по идее посылка должна состоять из кодов ASCII и начинаться с "е" (код ASCII буквы e - h65) и иметь следующий вид "ее(nul)(nul)(nul)(nul)(nul)(nul)(nul)еееееее" ------------ Дoбавленo: А чем Str не нравится, он полностью поддерживает весь байтовый код?
а (nul) H00 поддерживает??? |
|||
карма: 1 |
|
Ответов: 5227
Рейтинг: 587
|
|||
посмотри Convertor свойство Digits может там сабака порыта ;)...
[size=-2]------ Добавлено в 20:04 да на самом деле, если у тебя устройство стринги читает нафига ему тогда хексы? |
|||
карма: 4 |
|
Ответов: 5446
Рейтинг: 323
|
|||
N0D, используй
|
|||
карма: 1 |
|
Ответов: 9906
Рейтинг: 351
|
|||
N0D писал(а): чтобы то же самое ушло одной строкой и в HEX а не в STRДурдом на каникулах |
|||
карма: 9 |
|
Ответов: 26
Рейтинг: 0
|
|||
![]() ![]() |
|||
карма: 1 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Чтобы стать кудышным, надо начинать не квантовой физики, а с понимания БАЗЫ: что такое число, строка, символ, цифра, бит, и т.п..
И употреблять эти термины так же, как их понимают другие. Если под одним и тем же словом каждый понимает чего хочешь, сей эпистолярный жанр полностью теряет смысл Хорошое слово HEX ![]() Только Вам же русским языком сказали, что это просто строка. От себя добавлю, что состоящяя только из символов числом 16 (а вовсе не из 256), а именно из таких: 0123456789ABCDEF Ясный перец, что Вы понимаете под этим что-то другое. Что - достоверно неизвестно, только догадки. А экстрасенсы, наверное - в отпуске.... Вот и все секреты кудышности |
|||
карма: 9 |
|
Разработчик
Ответов: 26300
Рейтинг: 2146
|
|||
Galkov писал(а): Дурдом на каникулахе е е е е е е ' ' ' ' ' ' ' е е, где ' -- пустой символ. |
|||
карма: 22 |
|
Ответов: 26
Рейтинг: 0
|
|||
СПАСИБО ОГРОМНОЕ iarspider !!! последний совет помог!
![]() Выкладываю схему, может кому еще пригодится: code_8048.txt .... 0.01375314 cod.exe IRP_MJ_WRITE Serial0 SUCCESS Length 16: ee.......eeeeeee .... Всем спасибо за участие... ![]() |
|||
карма: 1 |
|