|
0 / 0 / 0
Регистрация: 21.09.2021
Сообщений: 23
|
||||||
Работа с COM-портом22.09.2021, 08:37. Показов 3611. Ответов 63
Метки нет (Все метки)
Добрый день. Имеется такая задача: получать данные с com порта и строить графики от полученных данных. Это удалось реализовать, но происходит запаздывание, т.к. таймер не даёт делать опрос чаще, чем нужно. Как увеличить быстродействие опроса?
Как сейчас у меня это реализовано:
0
|
||||||
| 22.09.2021, 08:37 | |
|
Ответы с готовыми решениями:
63
Работа с COM-портом
|
|
3 / 3 / 0
Регистрация: 20.08.2021
Сообщений: 75
|
|
| 24.09.2021, 11:33 | |
|
0
|
|
|
Злостный нарушитель
10912 / 5840 / 1289
Регистрация: 12.03.2015
Сообщений: 26,940
|
|
| 24.09.2021, 11:37 | |
|
0
|
|
|
Злостный нарушитель
10912 / 5840 / 1289
Регистрация: 12.03.2015
Сообщений: 26,940
|
|
| 24.09.2021, 15:46 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 21.09.2021
Сообщений: 23
|
|||||||||||||||||||||
| 27.09.2021, 10:08 [ТС] | |||||||||||||||||||||
|
В общем, после попыток манипуляций получилось.. Ничего. При запуске потока данные с компорта взяты один раз, но их обновление не происходит, соответственно график рисует прямую линию, т.к. не фиксирует изменений, а счётчик работает. При нажатии кнопки для остановки потока, программа валится с ошибкой. Код:
Запуск второй формы с графиками:
Кликните здесь для просмотра всего текста
0
|
|||||||||||||||||||||
|
0 / 0 / 0
Регистрация: 21.09.2021
Сообщений: 23
|
|
| 27.09.2021, 10:12 [ТС] | |
|
А вот так выглядит сама форма 2
Не по теме: Да простят меня модераторы и софорумчане, за то что не знаю как тут правильно картинки размещать
0
|
|
|
Злостный нарушитель
10912 / 5840 / 1289
Регистрация: 12.03.2015
Сообщений: 26,940
|
||
| 27.09.2021, 10:14 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 21.09.2021
Сообщений: 23
|
|
| 27.09.2021, 10:17 [ТС] | |
|
0
|
|
|
Злостный нарушитель
10912 / 5840 / 1289
Регистрация: 12.03.2015
Сообщений: 26,940
|
|
| 27.09.2021, 10:21 | |
|
0
|
|
|
Модератор
4156 / 2365 / 814
Регистрация: 15.11.2015
Сообщений: 9,503
|
||
| 27.09.2021, 10:21 | ||
![]() Это был просто пример с Random() для демонстрации работы! Нужно вот вместо этого Caption сюда внести код работы с Chart, потому, что Chart1 это тоже визуальный компонент VCL.
0
|
||
|
0 / 0 / 0
Регистрация: 21.09.2021
Сообщений: 23
|
|||||||
| 27.09.2021, 10:29 [ТС] | |||||||
|
Добавлено через 5 минут
0
|
|||||||
|
Модератор
4156 / 2365 / 814
Регистрация: 15.11.2015
Сообщений: 9,503
|
|
| 27.09.2021, 10:32 | |
|
WinKarbik, а в чём смысл конкретно этого потока? Он с портом не работает, а просто добавляет содержимое массива с Form1 на Chart на форме Form2. Тут поток не нужен.
0
|
|
|
Злостный нарушитель
10912 / 5840 / 1289
Регистрация: 12.03.2015
Сообщений: 26,940
|
||
| 27.09.2021, 10:32 | ||
|
Убери компонент TComPortDriver с формы, создавай/убивай его внутри треда, назначь ему обработчиком события метод самого треда и отрисовывай синхронно только принятые данные.
0
|
||
|
Модератор
4156 / 2365 / 814
Регистрация: 15.11.2015
Сообщений: 9,503
|
|
| 27.09.2021, 10:33 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 21.09.2021
Сообщений: 23
|
|||
| 27.09.2021, 10:39 [ТС] | |||
|
Добавлено через 27 секунд
0
|
|||
|
Модератор
4156 / 2365 / 814
Регистрация: 15.11.2015
Сообщений: 9,503
|
|||
| 27.09.2021, 10:48 | |||
|
Я так плотно не работал с TChart, но возможно просто он медленный. Можно попробовать самостоятельно рисовать график на Image, например. Думаю, попробовать стоит.
0
|
|||
|
0 / 0 / 0
Регистрация: 21.09.2021
Сообщений: 23
|
||
| 27.09.2021, 11:06 [ТС] | ||
|
0
|
||
|
Злостный нарушитель
10912 / 5840 / 1289
Регистрация: 12.03.2015
Сообщений: 26,940
|
||
| 27.09.2021, 11:06 | ||
|
Надо в треде накапливать массив принятых данных, а вот график строить как раз по таймеру, отрисовывая за раз всё то, что было накоплено на один тик таймера. TChart работает очень быстро (в умелых руках) и переваривает большие кучи точек за единицу времени.
0
|
||
|
0 / 0 / 0
Регистрация: 21.09.2021
Сообщений: 23
|
||
| 27.09.2021, 11:12 [ТС] | ||
|
0
|
||
|
Злостный нарушитель
10912 / 5840 / 1289
Регистрация: 12.03.2015
Сообщений: 26,940
|
||
| 27.09.2021, 11:22 | ||
|
В треде ты принимаешь данные, идущие из порта, и складываешь их в одноразовый динамический буфер. Как только прошло Х миллисекунд, ты генеришь синхронное событие, в котором отдаёшь форме этот буфер на копирование, а затем продолжаешь собирать данные в новый буфер, пока VCL рисует твой график.
0
|
||
| 27.09.2021, 11:22 | |
|
Работа с ком портом Работа с виртуальным com-портом Delphi 10.1 Berlin работа с COM портом
Работа с COM Портом Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности.
Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
|
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version
Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
|
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер
На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
|
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/
TL DR
Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
|
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|