AndreySE> Так ведь по сути ОС высокого уровня нету,это микроконтроллер,прогу на него пишем на Basic-X,то самое прерывание от нас не зависит,это связь микроконтроллера по COM порту с контроллером двигателя.
Значит надо создавать либо свой планировщик небольшой. Или очень строго следовать одной из немногих методологий по сопрограммному режиму. Таймер-то аппаратный у вас есть? Watchdog-и то надо делать как-то.
AndreySE> Влезть в эту связь не возможно,потому что она аппаратная.
Что значит аппаратная? Прерывание на проц идёт? Вроде идёт, согласно описанию выше. Значит обработчик прерывания написан вами. Вот это обработчик и должен брать не больше положенного времени. Если спрогнозировать хотя бы примерно, когда приходит прерывание нельзя, то обработчик обычно пишется таким образом, что ставит запросы в очередь. А уже потом эта очередь обрабатывается набором других подпрограмм, написаных в стиле сопрограмм с тщательным отслеживанием кто, когда, сколько берёт времени.
AndreySE> Вообще на борту два COM порта и попутно еще имеем три контроллера двигателей через TTL логику,немного разношерстно,но так получилось.И все пять контроллеров желают иметь связь в режиме реального времени по датчикам положений,сбой был в управление по ТТЛ поскольку его то расчет и вертится в главном цикле и если процессор отвлекся на передачу по COM порту то ТТЛ соответственно повисает.Проблему то устранили,путем добавления отдельной подпрограммы для учета этих самых прерываний,но выползла она только на "железе".
Ничего необычного для управляющей машинки не видно вроде. Но надо смотреть особенности, чтобы советовать. Ну и режим реального времени — в течении какого периода времени надо обслуживать все эти дела? Если микросекунды, то писать даже на проце с 1 ГГц придётся очень тщательно, бо будет около 2,000-3,000 в среднем (если есть излишняя аппаратура и возможности работы с ней в параллель). Если проц не может, то в районе 800-1,000 команд на ассемблере.
AndreySE> Я бы сказал что налицо масса недостатков,причем на всех уровнях и аппаратных и софта,но кто безгрешен.Потому и говорю что не надо вешать собак на программистов,а строить надо сверху-вниз,руководитель виноват в первую очередь.
Не надо, тут соглашусь. Даже с организацией работ хорошей, все эти методологии лишь повышают вероятность удачи выхода продукта, но гарантировать не могут.
Потерялась подпись. (С) Brab
Нашедшего прошу вернуть за небольшое вознаграждение ... переслаными байтами.
