|
11 / 10 / 3
Регистрация: 15.11.2015
Сообщений: 250
|
|
C++ прерывания23.08.2016, 15:06. Показов 2460. Ответов 12
Метки нет (Все метки)
Подскажите пожалуйста, если кто знает)))
У меня программа в DOS, считывает данные с омметра и выводит их на консоль, в постоянном режиме. Но стоит только окно DOS сместить в сторону (мышью), и поступающие данные не считываются, считывание прекращается в момент движения окна DOS, в момент остановки окна, данные опять читаются. Т.е оператор работающий с программой, тем самым вызывает ошибку программы. (расскрыть DOS на весь экран нельзя, т.к нужно одновременно два таких окна, в другое окно другие данные). Для программы, этот факт недопустим, т.к программа для производства и каждое значение омметра обязательно. Пожалуйста подскажите, как можно избавиться от такой ошибки. При помощи прерываний или может потоков???
0
|
|
| 23.08.2016, 15:06 | |
|
Ответы с готовыми решениями:
12
как перехватить прерывания в VC? Прерывания в ОСи: прототип функции-обработчика Приложение не завершается после прерывания отладки (VS C++6.0 + Windows 7 (64)) |
|
3073 / 1411 / 425
Регистрация: 19.01.2009
Сообщений: 3,893
|
|
| 24.08.2016, 11:01 | |
|
maxika, может окно "командной строки"?
Почему вы думаете, что это действие вызывает ошибку? Может при перетаскивании данные просто не отображаются? Желательно глянуть исходный код (если обнородование его не желательно, в подписи моя почта).
0
|
|
|
11 / 10 / 3
Регистрация: 15.11.2015
Сообщений: 250
|
|
| 25.08.2016, 07:43 [ТС] | |
|
Программу делаю в Builder C++ 6, т.е программа консольного приложения в Билдере.
Ошибка, потому что данные не считываются с портов платы, именно в момент смещения консольного окна. Окно на месте, данные читаются и выводятся на консоль. Окно смещаю в сторону, данные не считываются с портов платы и не выводятся на консоль. Сейчас на данный момент пришла мысль)))) Не сразу считывать поступающие данные от оборудования на плату. А сперва их (данные) помещать в память платы и уже от туда их считывать. Пожалуйста подскажите, вообще я в правильном направлении думаю?????
0
|
|
|
3073 / 1411 / 425
Регистрация: 19.01.2009
Сообщений: 3,893
|
||
| 25.08.2016, 10:02 | ||
|
0
|
||
|
11 / 10 / 3
Регистрация: 15.11.2015
Сообщений: 250
|
|
| 25.08.2016, 13:46 [ТС] | |
|
Пожалуйста посмотрите, я загрузил программу, она в сильно сокращенном виде, только самое основное, но это все равно рабочий вариант. Смысл программы:
Идет замер сопротивления резисторов, с начало в холодном состоянии, потом в горячем (их нагревают). Потом по полученным данным, рассчитывается ТКС (температурный коэффициент сопротивления). Все полученные результаты выводятся на консоль и резисторы сортируются на хорошие и плохие (брак). На рабочем столе, запускаются два консольных приложения, на два оборудования (измеряющих сопротивления). Если начать водить консольное окно, мышью в сторону, программа не читает в этот момент данные которые поступают на плату (плата PEX-D24). Данная погрешность недопустима, потому что работающий оператор на оборудовании, водит консольные окна для своего удобства (типо ему, так лучше видно). Вот и не знаю пока, как убрать эту погрешность(((((
0
|
|
|
3073 / 1411 / 425
Регистрация: 19.01.2009
Сообщений: 3,893
|
|||||||||||
| 25.08.2016, 14:15 | |||||||||||
|
maxika, строка 62, Unit1.cpp, попробуйте заменить:
0
|
|||||||||||
|
11 / 10 / 3
Регистрация: 15.11.2015
Сообщений: 250
|
||||||
| 25.08.2016, 15:36 [ТС] | ||||||
|
Нет предложенный способ не помогает, в этом легко убедиться, если использовать следующее выражение и при этом начать двигать консоль.
Думаю уже, что может попробовать отправлять данные в память платы, типо FIFO- первым пришел, первым ушел.
0
|
||||||
|
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
|
|
| 25.08.2016, 16:26 | |
|
Создай тему в ветке С++ для начинающих, там быстрее подскажут.
Добавлено через 7 минут Или напиши в личку этому специалисту: https://www.cyberforum.ru/members/374580.html
0
|
|
|
3073 / 1411 / 425
Регистрация: 19.01.2009
Сообщений: 3,893
|
|
| 25.08.2016, 20:32 | |
|
maxika, а программа обязательно должна быть консольная? Создайте форму, киньте на нее TMemo, и выводите показания в нее одновременно двигая окно. Это как вариант...
0
|
|
|
11 / 10 / 3
Регистрация: 15.11.2015
Сообщений: 250
|
|
| 28.08.2016, 12:39 [ТС] | |
|
Нет смысла придираться к словам, если алгоритм решения во всех случаях одинаков))))
0
|
|
|
Супер-модератор
|
|
| 28.08.2016, 12:44 | |
|
В том то вся и проблема, что алгоритм решения ОЧЕНЬ отличается в зависимости
1) от ОС, под которую пишется программа 2) от используемого инструментария (компилятора)
0
|
|
| 28.08.2016, 12:44 | |
|
Помогаю со студенческими работами здесь
13
использование прерывания 21h для считывания с клавиатуры Почему не устанавливаются точки прерывания при удалённой отладке? [Вопрос] Перехват прерывания прямым доступом к вектору прерывания Вычислить адрес вектора прерывания по номеру прерывания. Обработчик прерывания int 21h (по книге Калашникова) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
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?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|