добрый день всем! сильно не ругайте я только начинающий
создал программу все вроде работает только загвоздга в посылке сроки больше 7 байт
не знаю как реализовать деление при посылке
я отправляю 31FB000500000010 она на порт так и приходит! естественно нет правильного ответа от порта
надо чтобы было так 100831FB00050000\r210010\r нужно сделать чтобы программа делила все что больше 7 байт
заранее благодарен за любую помощь
программку прилагаю в силки https://mega.nz/file/2x5lXb5J#30ET9__ukbKHHR7f_IgsFsXMW_rRBC2dxAW0PjQJJXA
Этот топик читают: Гость
Ответов: 17
Рейтинг: 0
|
|||
карма: 0 |
|
Разработчик
Ответов: 26163
Рейтинг: 2127
|
|||
benea333 писал(а): программку прилагаю в силкиУ нас есть собственный файлообменник -- Пользователи -> Файлы |
|||
карма: 22 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
benea333 писал(а): я отправляю 31FB000500000010 она на порт так и приходит! естественно нет правильного ответа от портанадо чтобы было так 100831FB00050000\r210010\r нужно сделать чтобы программа делила все что больше 7 байт Кто-нибудь может перевести эту хотелку на русский язык ? Редактировалось 1 раз(а), последний 2020-04-12 16:31:30 |
|||
карма: 25 |
|
Ответов: 17
Рейтинг: 0
|
|||
nesco писал(а): У нас есть собственный файлообменник -- Пользователи -> Файлыsorry! вот файл! --- Добавлено в 2020-04-12 16:56:55 Tad писал(а): На что делила?
Кто-нибудь может перевести эту хотелку на русский язык ? как вам объяснить! смотрите есть команда (3E00) чтобы прибор понял сколько байт ему отсылаю вставляю впереди команды вставку 02 сейчас будет выглядеть так 023Е00 и прибор ответит! вот мне нужно автоматизировать эту вставку но это все ладно самое интересное когда надо отсылать команду длиннее 7 байт чтобы порт понял что я ему отсылаю надо поделить от 7 байтов! пример такой на команду (31FB000500000010) правельно будет вот так 100831FB00050000\r210010\r вот как сделать чтобы автоматом делилась команда Редактировалось 1 раз(а), последний 2020-04-12 16:56:55 |
|||
карма: 0 |
| ||
файлы: 1 | connect.zip [2.7KB] [348] |
Ответов: 16884
Рейтинг: 1239
|
|||
Что за прибор ?
У прибора должен быть протокол обмена. benea333 писал(а): надо поделить от 7 байтов! |
|||
карма: 25 |
|
Ответов: 17
Рейтинг: 0
|
|||
Tad писал(а): Что за прибор ? elm327 |
|||
карма: 0 |
|
Ответов: 8928
Рейтинг: 823
|
|||
Tad, ну какой протокол у ВОДИТЕЛЯ легковушки, нужны готовые приложения (наверное разные для разных машин и компьютеров), где все протоколы уже заложены, да и доверия китайцам нет, вместо феррари покажет жигули
|
|||
карма: 19 |
|
Ответов: 17
Рейтинг: 0
|
|||
Леонид писал(а): Tad, ну какой протокол у ВОДИТЕЛЯ легковушки, нужны готовые приложения (наверное разные для разных машин и компьютеров), где все протоколы уже заложены, да и доверия китайцам нет, вместо феррари покажет жигули леонид я автоэлектрик, я хочю создать свое приложение для удобства без всяких дорогих приблуд команды я знаю с короткими до 7 байт нет проблем проблема от 7 байт и выше если знаете как реализовать буду примного блогодарен Редактировалось 1 раз(а), последний 2020-04-12 17:42:07 |
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Леонид, я это уже понял.
benea333 писал(а): есть команда (3E00) чтобы прибор понял сколько байт ему отсылаю вставляю впереди команды
вставку 02 сейчас будет выглядеть так 023Е00 benea333 писал(а): когда надо отсылать команду длиннее 7 байт чтобы порт понял что я ему отсылаю надо поделить от 7 байтов! пример такой на команду (31FB000500000010) правельно будет вот так 100831FB00050000\r210010\r |
|||
карма: 25 |
|
Ответов: 17
Рейтинг: 0
|
|||
Tad писал(а): Если в начало цепляется количество байт, то почему 1008, а не 07 ?потому как надо отправить всю строку а строка имеет 8 байт а порт принимает по 7 теперь все что больше 7 байт надо делить так дожлно быть от команды 31FB000500000010 [12/04/2020 19:02:18] Written data (COM2) 31 30 30 38 33 31 46 42 30 30 30 35 30 30 30 30 100831FB00050000 0d 0a .. [12/04/2020 19:02:18] Read data (COM2) 0d 3e 33 30 30 31 30 30 41 33 41 33 41 33 41 33 .>300100A3A3A3A3 41 33 0d 0d 3e A3..> [12/04/2020 19:02:18] Written data (COM2) 32 31 30 30 31 30 0d 0a 210010.. [12/04/2020 19:02:18] Read data (COM2) 31 30 31 33 37 31 46 42 30 32 42 35 44 42 31 33 101371FB02B5DB13 0d 32 31 30 33 30 30 30 30 31 42 30 33 30 30 30 .210300001B03000 30 0d 32 32 30 30 30 32 30 32 30 32 30 32 30 32 0.22000202020202 41 33 0d 0d 3e A3..> Редактировалось 3 раз(а), последний 2020-04-12 18:04:22 |
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Конкретно
как 31FB000500000010 превращается в 100831FB00050000\r210010\r и 0d 0a это не \r Леонид, Вы поняли? Если да, то просветите. Редактировалось 1 раз(а), последний 2020-04-12 20:06:15 |
|||
карма: 25 |
|
Ответов: 17
Рейтинг: 0
|
|||
Tad писал(а): 100831FB00050000\r210010\rесли отправляю так все четко проходит и читает 100831FB00050000\r210010\r но мне нужно не одну строку а за сотню поетому хотелбы автоматизировать |
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Как-то так. Когда пойму порядок формирования строки для передачи в COM-порт, тогда продолжим. |
|||
карма: 25 |
|
Ответов: 17
Рейтинг: 0
|
|||
Tad писал(а): Как-то так. Когда пойму порядок формирования строки для передачи в COM-порт, тогда продолжим.спасибо большое но не то!!! вот как ваше схема отработала! [12/04/2020 22:56:18] Written data (COM2) 20 33 33 20 33 31 20 34 36 20 34 32 20 33 30 20 33 31 46 42 30 33 30 20 33 30 20 33 35 20 33 30 20 33 30 20 33 30 30 35 30 30 3 30 20 33 30 20 33 30 20 33 30 20 33 31 20 33 30 0 30 30 30 31 30 20 33 31 20 30 44 31 0D [12/04/2020 22:56:37] - Close port COM2 ответа нет Редактировалось 4 раз(а), последний 2020-04-12 21:59:13 |
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
benea333 писал(а): ответа нетПравильно. И не будет. Пока не пойму как считается добавка в начало. 100831FB00050000\r210010\r Вот эти 1008 и 21 откуда получаются? Откуда-то ты их взял? Не с потолка и не методом тыка. Редактировалось 2 раз(а), последний 2020-04-12 22:11:15 |
|||
карма: 25 |
|