|
0 / 0 / 0
Регистрация: 20.02.2022
Сообщений: 57
|
||||||
Как вызвать метод из статической функции?20.02.2022, 22:15. Показов 7782. Ответов 72
Метки нет (Все метки)
Запускаю таймер:
0
|
||||||
| 20.02.2022, 22:15 | |
|
Ответы с готовыми решениями:
72
Как вызвать метод класса из static функции
Объявление статической переменной и статической функции в классе |
|
0 / 0 / 0
Регистрация: 20.02.2022
Сообщений: 57
|
|||
| 21.02.2022, 15:58 [ТС] | |||
0
|
|||
|
2410 / 1946 / 764
Регистрация: 27.07.2012
Сообщений: 5,582
|
||
| 21.02.2022, 16:25 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 20.02.2022
Сообщений: 57
|
|
| 21.02.2022, 19:27 [ТС] | |
|
Идея управление и вывод информации от усилителя мощности КВ диапазона. Управление заключается в переключении режимов, ну и выводить на экран порядка 6-8 параметров. Вторая идея которая не дает покоя это написать терминал ком порта.
0
|
|
|
2410 / 1946 / 764
Регистрация: 27.07.2012
Сообщений: 5,582
|
||
| 21.02.2022, 21:24 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 20.02.2022
Сообщений: 57
|
|
| 21.02.2022, 21:38 [ТС] | |
|
0
|
|
|
2410 / 1946 / 764
Регистрация: 27.07.2012
Сообщений: 5,582
|
||
| 21.02.2022, 21:40 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 20.02.2022
Сообщений: 57
|
|
| 21.02.2022, 22:01 [ТС] | |
|
Пока идет создание класса ком порта. Сделаю методы поиска доступных портов, настройку ком порта.
0
|
|
|
0 / 0 / 0
Регистрация: 20.02.2022
Сообщений: 57
|
|
| 24.02.2022, 19:15 [ТС] | |
|
Не буду плодить тем, спрошу здесь. Есть функция чтения ком порта которая выполняется по таймеру. Хочу вызвать функцию обработки данных полученных от функции чтения. Если вызвать функцию обработки из функции чтения то функция чтения завершиться после выполнения функции обработки, что не есть хорошо. Функция чтения должна записать принятые данные в буфер и завершиться. Как можно послать сигнал чтобы вызвать функцию обработки, при этом функция чтения должна завершиться и ждать своего вызова по таймеру?
Вижу два пути: 1. Вызывать обработку по таймеру с проверкой флага прихода данных. 2. Потоки.
0
|
|
|
2410 / 1946 / 764
Регистрация: 27.07.2012
Сообщений: 5,582
|
||
| 24.02.2022, 21:38 | ||
|
Поэтому лучше всего работать с потоками. Можно завести что-то типа блокирующей очереди, когда поток чтения порта будет читать порт и формировать целые законченные пакеты, а потом отправлять их в эту очередь. Другой же поток будет заблокирован до момента прихода данных в очередь, а затем уже вызывать обработчики пакетов.
0
|
||
|
0 / 0 / 0
Регистрация: 20.02.2022
Сообщений: 57
|
|
| 24.02.2022, 22:02 [ТС] | |
|
Я планировал что функция чтения по факту получения данных будет их складывать в буфер и дергать функцию обработки, которая будет проверять пришел ли полный пакет и обрабатывать его. Хотя наверное лучше возложить на функцию чтения формирование пакета. Указывать ей время ожидания, если время вышло и ничего не пришло, формируем пакет.
0
|
|
|
2410 / 1946 / 764
Регистрация: 27.07.2012
Сообщений: 5,582
|
||
| 24.02.2022, 22:08 | ||
|
Добавлено через 1 минуту Но вообще тут же зависит от того, кто в обмене ведущий, а кто ведомый. Если комп ведущий, то вообще нет смысла постоянно мониторить порт, а только на время ожидания ответа.
0
|
||
|
0 / 0 / 0
Регистрация: 20.02.2022
Сообщений: 57
|
|
| 25.02.2022, 12:27 [ТС] | |
|
В режиме терминала комп должен постоянно ждать посылку. А если опрашивать кого то то да запросил , подождал пришло хорошо, не пришло нет связи.
Добавлено через 5 часов 29 минут Интересно, может быть есть какая-то возможность генерировать событие о приеме в ком порт данных от ОС? Что бы не дергаться и не читать постоянно с ком порта.
0
|
|
|
2410 / 1946 / 764
Регистрация: 27.07.2012
Сообщений: 5,582
|
|
| 25.02.2022, 12:37 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 20.02.2022
Сообщений: 57
|
||||||
| 25.02.2022, 13:01 [ТС] | ||||||
|
По таймеру, таймер операционной системы вызывает функцию чтения
0
|
||||||
|
2410 / 1946 / 764
Регистрация: 27.07.2012
Сообщений: 5,582
|
|
| 25.02.2022, 13:16 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 20.02.2022
Сообщений: 57
|
||||||
| 25.02.2022, 13:29 [ТС] | ||||||
|
Нет
/* Copyright (C) 1991-2018 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see <http://www.gnu.org/licenses/>. */ /* * POSIX Standard: 2.10 Symbolic Constants <unistd.h> */
Под windows терминалов много, а вот под linux не очень.
0
|
||||||
|
2410 / 1946 / 764
Регистрация: 27.07.2012
Сообщений: 5,582
|
||
| 25.02.2022, 13:51 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 20.02.2022
Сообщений: 57
|
|
| 25.02.2022, 14:06 [ТС] | |
|
Я не нашел такого решения, поэтому пошел через таймер. Да в виндовс когда-то очень давно делал чтение с ком порта, там настраивалось событие кажется. Очень удобно было. Взвел событие и все не заботишься когда оно придет. Все работало без потоков, в теле программы вся обработка была. Вообще здесь все по другому число стоповых бит либо 1 либо 2 нет 1,5. В паритете тоже меньше вариантов выбора чем в винде. Возможно есть более функциональная библиотека?
0
|
|
|
2410 / 1946 / 764
Регистрация: 27.07.2012
Сообщений: 5,582
|
||
| 25.02.2022, 14:11 | ||
boost::asio::serial_port, но сходу может быть сложно разобраться. И не уверен, что там есть нужный функционал.
0
|
||
|
0 / 0 / 0
Регистрация: 20.02.2022
Сообщений: 57
|
|
| 25.02.2022, 15:03 [ТС] | |
|
Видел эту штуку. Думаю пока не потяну, пойду пока более простым путем.
0
|
|
| 25.02.2022, 15:03 | |
|
Как вызвать метод info в метод Main и с какими параметрами?
Как мне вызвать переменную находящуюся в функции Thread3() из функции main(), находящейся в функции Thread2() Как присвоить адрес статической typedefined функции? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки
Правым кликом по серверу -> отладочная информация -> edit
Заменить "net": "raw", на "net": "tcp",
Нажать кнопку reload.
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|