|
3 / 3 / 1
Регистрация: 29.08.2012
Сообщений: 306
|
|
SDPO библиотека - работа с com портом26.07.2015, 22:38. Показов 7831. Ответов 10
Метки нет (Все метки)
Всем привет. Есть StringGrid - внем храняться данные в виде 0x00, 0x80 , 0xF2 и т.д. - передаю в com порт используя библиотеку Sdpo. В порт-мониторе появляются ASCI коды? т.е. 30 78 30 30 и т.д. , а не байты мои . Как исправить???
0
|
|
| 26.07.2015, 22:38 | |
|
Ответы с готовыми решениями:
10
Библиотека работы с COM портом Библиотека для работы с COM портом Не ставится пакет SDPO |
|
Модератор
|
|
| 27.07.2015, 00:10 | |
|
Ты - счастливчик! Я как раз забрал хрустальный шар из магиечистки...
В общем открывай файл Unit1.pas и ищи строчки с номерами - тут шар мутный, не вижу... А если серьёзно. В каждой ячейке StringGrid хранятся строки, а не числа. И для их отправки нужно сначала преобразовать строку вида "7A" в число типа byte. И именно это число и отправлять. Преобразование строки в число - смотри файл справки user.pdf модуль или StrUtils или SysUtils. Если я не угадал - проверь строки 65-84. --------------------------------- И вообще, кто тебя учил сразу делать большие программы без отладки каждой процедуры? Я бы шёл следующим путём: 1. Попытка подключится к СОМ-порту из консольной (DOS) программы. 2. Попытка отправить через СОМ-порт один или два заранее известных байта с контролем через сниффер 3. Попытка отправить/принять сообщение (из массива) в/из устройство с контролем через сниффер и выводом на экран ответа устройства. 4. GUI. После каждого шага у меня в отдельный модуль отправлялись бы отлаженные подпрограммы (методы) подключение, отправка/приём байта, отправка/приём сообщения, диагностика состояния соединения. А у тебя - неизвестно состояние отлаженности процедур обмена, что записано/считано из StringGrid, и прочее... Мой совет - проектируй сверху-вниз, но отлаживай снизу-вверх - т.е. дом представь ещё на бумаге, а складывай его из проверенных кирпичей.
1
|
|
|
3 / 3 / 1
Регистрация: 29.08.2012
Сообщений: 306
|
|
| 27.07.2015, 00:49 [ТС] | |
|
Я так собственно и делал - данные в ком порт у меня получилось слать, но они в сниффере в виде ASCII кода, а мне нужны - правильно байты(HEX). Прием мне не нужно реализовывать, только отправка. Про документацию USER.pdf - это которая на сайте для freepascal??
0
|
|
|
Модератор
|
|||
| 27.07.2015, 01:11 | |||
|
Добавлено через 2 минуты ----------------- Я прошу прощения, конечно же, нужен файл справки rtl.pdf.
0
|
|||
|
394 / 194 / 48
Регистрация: 11.07.2013
Сообщений: 1,210
|
||
| 29.07.2015, 22:15 | ||
|
Не могу утверждать что хорошо, что плохо, но лично мне библиотека Sdpo не понравилась. Позволяет передавать только строки (Serial.WriteData('обязательно строка'); ), а если необходимо реализовать какой-то более сложный протокол, то "без химии" не обойтись. Невозможно управлять линиями RTS, CTS и ряд других вещей. Какая-то она примитивная (подчёркиваю, что это лично моё мнение, которое может не совпадать с общепринятым). Сейчас для работы с портом использую компоненты библиотеки Cportlaz v1.0.0 . Попробуйте, не пожалеете. Помимо всего прочего в ней есть даже Help!
Что касается вашего вопроса, то в StringGrid '0x00' - это строка, соответственно при передаче строки будут передаваться коды символов: '0' - $30, 'x' - $78, '0' - $30, '0' - $30, конец строки - $00. Добавлено через 14 минут
0
|
||
|
Модератор
|
||||||||
| 30.07.2015, 22:16 | ||||||||
|
У меня почти нет опыта и предпочтений в этой области. Задал поиск, нашёл http://wiki.freepascal.org/5dpo, попалась цитата
http://sourceforge.net/projects/sdpo-cl/files/ В архиве Sdpo-0.2.0.zip\Sdpo/SdpoSerial/sdposerial.pas есть строки
Это просто, на первый взгляд... Моё мнение, Synaser, 5pdo и прочие - работоспособные инструменты. И если нет предпочтений после изучения документации и поддержки - без разницы, что изучать. В книжке Тирион Ланнистер утверждал примерно следующее: "Если вынужден переспать с некрасивой девушкой, то единственный способ завершить это поскорее - начать пораньше..." Кроме того, вопрос ТС был не о предпочтениях, а о предсказаниях (код он не предоставил). А также, из-за недостатка опыта в этой сфере, мне, вообще, теперь больше нечего добавить.
0
|
||||||||
|
394 / 194 / 48
Регистрация: 11.07.2013
Сообщений: 1,210
|
|
| 01.08.2015, 22:11 | |
|
Раньше ответить не мог, извините. Если вы не смогли найти Cportlaz v1.0.0, то прикрепляю её к сообщению.Cportlaz_v1.0.0.rar
Попробуйте, думаю, понравится. Если что не понятно - задавайте вопрос, обсудим.
1
|
|
|
394 / 194 / 48
Регистрация: 11.07.2013
Сообщений: 1,210
|
|
| 01.08.2015, 22:15 | |
|
К стати, раньше я был сторонником использовать при работе с COM-портом только функции WinAPI, отдельный поток и т.д., но, попробовав Cportlaz v1.0.0, мнение своё именил... Автор библиотеки очень удачно всё это решил "за меня".
0
|
|
|
Модератор
|
|
| 02.08.2015, 09:31 | |
|
Спасибо за совет. Вместо архива можно было ограничится ссылкой на Sourceforge.
К сожалению, прямо сейчас задача работы с COM не стоит, есть куча других, но при такой необходимости рассмотрю и пакет Cportlaz.
0
|
|
|
3 / 3 / 1
Регистрация: 29.08.2012
Сообщений: 306
|
|
| 04.08.2015, 02:08 [ТС] | |
|
Всем спасибо. Попробую еще Cportlaz - может и с ним что-нибудь получиться.
0
|
|
| 04.08.2015, 02:08 | |
|
Помогаю со студенческими работами здесь
11
Работа с COM портом Работа с COM-портом Работа с COM портом Работа с Com портом Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|