ViKo 1 21 февраля, 2013 Опубликовано 21 февраля, 2013 · Жалоба Работаю с CMSIS-RTOS RTX от Keil. Имею прерывание, по которому хочу передать в задачу обработки двухбайтовое сообщение. Кидаю его в двухбайтовый глобальный массив. Устанавливаю сигнал (в терминах CMSIS-RTOS) для задачи обработки. Задача ждет сигнал и выполняет обработку. Но можно сделать иначе - очередь сообщений. И в прерывании заносить в очередь новое сообщение. А задача будет ждать сообщение. Так, вроде, правильнее, с точки зрения RTOS. Но будет ли это эффективнее? Поделитесь мнениями. Да и само прерывание - тоже задача. Не мелковата ли? :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SyncLair 0 21 февраля, 2013 Опубликовано 21 февраля, 2013 · Жалоба Всё зависит от реализации. Так как исходных кодов у Вас нет, то увы и ах придётся только тестировать такты. В любом случае если глубина очереди в 1 элемент ( а именно так у вас и сделано в существуюшем варианте с сигналом) вас устраивает то почему-бы не остаться на текущем случае ибо пересылка двух байт в локальную переменную уж очень быстра по сравеннию с тем что надо 1. проверить полна/пуста ли очередь 2. поместить ваши два байта 3. счётчики и прочие упр структуры очереди обновоить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться