|
0 / 0 / 0
Регистрация: 08.04.2008
Сообщений: 13
|
||||||
Нет ли от сом порта особого сообщения...?28.08.2008, 17:28. Показов 1640. Ответов 8
Метки нет (Все метки)
Нет ли от сом порта особого сообщения, при поступлении в него данных для чтения передаваемого сразу в приложение? Имею ввиду сообщения типа, как от щелчка мыши или клавиатуры WM_. Проблема в том, что сейчас в нашей проге поставлены отжидающие функции типа WaitCommEvent и
Sleep(..) перед чтением.. но в это время теряются ценные данные. Нельзя ли прямо как-то поступление данных в СОМ обрабатывать?
0
|
||||||
| 28.08.2008, 17:28 | |
|
Ответы с готовыми решениями:
8
График из СОМ порта От СОМ-порта к OpenGL Прерывание от сом порта |
|
2256 / 771 / 25
Регистрация: 27.05.2008
Сообщений: 1,496
|
|
| 28.08.2008, 17:38 | |
|
Я так понимаю,нужно параллельно с ожиданием ввода от СOM порта обрабатывать все остальное? COM порт,конечно,ничего не отправит изза того,что в системе что-то происходит. Выход из ситуации - использование потоков. Один поток для ком порта,другой для остального.
0
|
|
|
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
|
||||||
| 28.08.2008, 20:31 | ||||||
|
Что-то типа этого:
0
|
||||||
|
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
|
||
| 31.08.2008, 00:38 | ||
|
Встречный вопрос: а как COM порт должен "понять", что: 1. данные пришли полностью? 2. данные пришли без искажений?
0
|
||
|
0 / 0 / 0
Регистрация: 08.04.2008
Сообщений: 13
|
|
| 03.09.2008, 10:59 [ТС] | |
|
данные приходят по частям и все это постепенно считывается с СОМ порта в отдельном потоке. СОМ не должен распозновать полностью ли и без искажений ли пришли данные, все это делает приложение самостоятельно после прочтения данных в отдельном потоке. т.о. есть 3 параллельных потока: 1. по таймеру (мультимедийному) вывод на экран кол-ва переданных и прочтенных данных, 2 . передача данных(тоже по таймеру, но в отдельном потоке), 3. чтение данных, постоянно, бесконечным циклом до остановки кнопкой "стоп" или закрытием окна.
0
|
|
|
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
|
|
| 03.09.2008, 20:41 | |
|
Ну все правильно, с COM'ом так и работают. Только в потоке чтения данных из COM'а должна быть функция sleep(сколько-нибудь), чтобы прога проц не жрала (обычно 20-50 мс хватает).
0
|
|
|
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
|
|
| 03.09.2008, 22:11 | |
|
Только вот чего я не понял: а Sleep то зачем??? Все прекрасно и без него работает...
0
|
|
|
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
|
|
| 04.09.2008, 20:33 | |
|
Посмотри в диспетчере задач загрузку процессора твоей прогой, когда она читает данные. Если больше 5%, то плохо.
0
|
|
| 04.09.2008, 20:33 | |
|
Помогаю со студенческими работами здесь
9
Настройка СОМ-порта Сохранить параметры СОМ-порта! Прием данных с СОМ-порта Графика для сом-порта Чтение и запись СОМ-порта Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла:
Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
|
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-text-sdl3-c. zip
finish-text-sdl3-cpp. zip
|
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
|
|
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo
Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло.
Но на выплатах по больничным это. . .
|
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
|
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y
Z4Tv2zpXVVo
https:/ / github. com/ shumilovas/ med2. git
|
Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа.
В качестве фильтра для отбора справочника служит группа номенклатуры.
Отбор по наименованию группы. . .
|