ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
10 июля
334349
mazur (10.06.2012 00:12 - 01:14, просмотров: 4947)
Уже долгое время бьюсь над одной проблемой. Как я сделал: Массив-очередь сообщений, каждое сообщение состоит из двух байтов. Идентификатор получателя и номер сообщения. Проверка сообщений идет перед КА. Если нет сообщения, переход к КА. Если есть сообщения, сообщение считывается и удаляется из очереди, дальше работает табличный интерпретатор. У КА есть состояния, например, состояние инициализации, в которых нельзя принимать сообщения. Сначала я сделал еще одну таблицу, в которой указаны состояния, в которых запрещено принимать сообщения. Недавно мне пришла в голову одна идейка. Пометить все состояния КА битом-разрешением чтения сообщения. Правда кол-во состояний ограничится 128. Но мне еще и не приходилось писать автоматы с таким кол-вом состояний. Так что вроде такой способ катит. Следующий момент, который я пока не могу как следует осмыслить. Сообщения болтаются в очереди, пока их не считают. Это может произойти и через миллисекунды и через год. Этот момент меня не беспокоит. Беспокоит другое. Наступило событие, которое отменяет сообщения для одного или нескольких получателей. Обработали его, а в очереди болтаются сообщения, которые до этого отправляли. Как с этим бороться, пока не могу сообразить. Нужны решения и ликбез по механизмам сообщений.