|
1 / 1 / 0
Регистрация: 22.01.2016
Сообщений: 39
|
|
Заморочка с пересылкой данных в порт20.03.2016, 14:03. Показов 4555. Ответов 17
Метки нет (Все метки)
Здравствуйте, уважаемые!
Нужно передать строку данных длиной 11 байт в Сом-порт. В строке есть нулевые байты. WriteSerialPortString(5,Chr($10)+Chr($01 )+Chr($52)+Chr($00)+Chr($00)+Chr($00)+Ch r($00)+Chr($00)+Chr($00)+Chr($53)+Chr($1 6)); На контроле порта эти нули исчезают, передаётся всего 5 байт: "10 01 52 53 16" Всяко извращался, ну никак! Чего я не понимаю? PB v. 5.40 LTS(x86)
0
|
|
| 20.03.2016, 14:03 | |
|
Ответы с готовыми решениями:
17
Проблема с пересылкой данных форме Проблема с пересылкой Mime Помогите с пересылкой movsb |
|
|
|||||||||||
| 20.03.2016, 14:16 | |||||||||||
|
Для таких случаев, предназначена функция WriteSerialPortData() Данные можно поместить в массив.
1
|
|||||||||||
|
1 / 1 / 0
Регистрация: 22.01.2016
Сообщений: 39
|
||
| 20.03.2016, 15:45 [ТС] | ||
|
Спасибо! Не ожидал такой быстрой реакции. Я не профи-программист (пенсионер, хотя и работал радиофизика-электроника), но вроде, кое-что получается. Бейсики , начиная с самодельного РК-86, VB-6, итд, мне как-то понятнее, тем более PB очень хорошо развивается, и возможности растут.
Спасибо. Добавлено через 53 минуты Продолжаются мои заоморочки ![]() данные уходят нормально ( в А вот, с приёмом (после этой посылки нужно получить ответ 16 байт) - никак, в смысле нет ответа. Аналогичный запрос, ту же HEX-строку посылаю терминалом (CoolTerm v1.44) - ответ через 0,017 с. Т.е. устройство нормально реагирует на запрос. Кстати, если подскажете как принять c помощью ReadSerialPortData, буду благодарен. Мне, в дальнейшем нужно получить строковую переменную из этих 16 принятых байт. Спасибо за участие-учение .
0
|
||
|
1 / 1 / 0
Регистрация: 22.01.2016
Сообщений: 39
|
||||||
| 20.03.2016, 16:46 [ТС] | ||||||
|
Я смотрю внешним сниффером FreeSerialPortMonitor. Терминалу есть ответ,
Эту строку данных моя прога теперь корректно посылает (там же вижу), а ответ только терминалу. Может дело в каких-то задержках? Порт открывается-закрывется нормально(тот же сниффер видит): OpenSerialPort(5, "COM5", 9600, #PB_SerialPort_NoParity, 8, 1, #PB_SerialPort_NoHandshake, 256, 256) Добавлено через 3 минуты Собственно, вот тренировочный кусочек
0
|
||||||
|
|
||||||||
| 20.03.2016, 17:11 | ||||||||
0
|
||||||||
|
1 / 1 / 0
Регистрация: 22.01.2016
Сообщений: 39
|
|
| 20.03.2016, 17:37 [ТС] | |
|
Iocm,
Вот картинка сниффера вначале CoolTerm затем программа. По приёму у меня там ерунда - не разбирался ещё, просто забросил оператор. За подсказку спасибо.
0
|
|
|
1 / 1 / 0
Регистрация: 22.01.2016
Сообщений: 39
|
||
| 20.03.2016, 18:00 [ТС] | ||
|
0
|
||
|
|
||||||
| 20.03.2016, 18:31 | ||||||
0
|
||||||
|
1 / 1 / 0
Регистрация: 22.01.2016
Сообщений: 39
|
|
| 20.03.2016, 18:56 [ТС] | |
|
Да, теперь ShowMemoryViewer показывает 13 принятых байт! То есть реакция есть, но...
Как эти 13 байт присвоить строковой переменной? Последняя, надеюсь, заморочка ![]() И, всё-таки, почему-то сниффер её не видит, что меня и смущало...
0
|
|
|
|
||||||
| 20.03.2016, 19:14 | ||||||
0
|
||||||
|
1 / 1 / 0
Регистрация: 22.01.2016
Сообщений: 39
|
|
| 20.03.2016, 19:36 [ТС] | |
|
[19:31:20] Ожидание запуска исполняемого файла...
[19:31:20] Тип исполняемого файла: Windows - x86 (32bit) [19:31:20] Запущен исполняемый файл. [19:31:24] [ОШИБКА] трен3.pb (Строка: 36) [19:31:24] [ОШИБКА] Индекс массива вне допустимых границ. [19:31:28] Программа уничтожена. Вот что-то с индексами. Но, оказывается из буфера надо побайтно считывать, что я, конечно не знал... RSet не очень понятно в хелпе, да и вообще он скудный, примеров (что важно) маловато.. Вот ещё с этой "заморочкой" индексной разобраться бы.... А в целом, Вам Iocm, огромное спасибо!Строка 36 - s + RSet(Hex(Buff(13), #PB_Ascii), 2, "0")+" "
0
|
|
|
|
|||||||
| 20.03.2016, 19:46 | |||||||
|
Размер массива какой? 32 байта или меньше?
В коде должно быть.
0
|
|||||||
|
1 / 1 / 0
Регистрация: 22.01.2016
Сообщений: 39
|
||
| 20.03.2016, 20:01 [ТС] | ||
|
Вот что в памяти: 0156FCD0 10 01 52 90 00 D2 E8 33 22 24 00 16 16 ..R.Òè3"$... на debug выводится 10 01 52 90 D2 E8 33 22 24 0 - последний именно один ноль! И висит....
0
|
||
|
|
||
| 20.03.2016, 20:05 | ||
|
1
|
||
|
1 / 1 / 0
Регистрация: 22.01.2016
Сообщений: 39
|
||
| 20.03.2016, 21:52 [ТС] | ||
|
Ставил принудительно цикл на 33 и т.д.
Debug строки внутрь цикла вот что имеем: Принято 13 байт 10 10 01 10 01 52 10 01 52 90 10 01 52 90 00 10 01 52 90 00 E4 10 01 52 90 00 E4 21 10 01 52 90 00 E4 21 96 10 01 52 90 00 E4 21 96 21 10 01 52 90 00 E4 21 96 21 24 10 01 52 90 00 E4 21 96 21 24 00 И висим... Содержимое строки (данных) каждый раз разное. Кажется, для воскресенья ужо хватит.. Спасибо, продвинулся значительно, практически до финиша...Остальное основное оформление и математику написал раньше. Добавлено через 59 минут Не удержался - попробовал это на PB v 4.51 [21:12:43] [ОШИБКА] Указатель массива больше допустимого диапазона. Добавлено через 36 минут Усну спокойнее! Спасибо Iocm!
0
|
||
|
1 / 1 / 0
Регистрация: 22.01.2016
Сообщений: 39
|
|
| 21.03.2016, 11:34 [ТС] | |
|
Да, спасибо разобрался. Тут либо новый массив для приёма, либо использовать ReDim.
Вопрос закрыт.
0
|
|
| 21.03.2016, 11:34 | |
|
Помогаю со студенческими работами здесь
18
Проблема с пересылкой вложений Проблема с пересылкой почты из Lotus Исправить программу с пересылкой битов Разобрать с пересылкой готовой картинкой с сервера к пользователю Заморочка с стилем Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга,
Ты же видел моря и метели.
Как сменялись короны и стяги,
Как эпохи стрелою летели.
- Этот мир — это крылья и горы,
Снег и пламя, любовь и тревоги,
И бескрайние. . .
|
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1
У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\
А в самом низу файла-профиля. . .
|