реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Передать сигнал из прерывания в задачу
ViKo
сообщение Feb 21 2013, 08:30
Сообщение #1


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Работаю с CMSIS-RTOS RTX от Keil. Имею прерывание, по которому хочу передать в задачу обработки двухбайтовое сообщение. Кидаю его в двухбайтовый глобальный массив. Устанавливаю сигнал (в терминах CMSIS-RTOS) для задачи обработки. Задача ждет сигнал и выполняет обработку.
Но можно сделать иначе - очередь сообщений. И в прерывании заносить в очередь новое сообщение. А задача будет ждать сообщение. Так, вроде, правильнее, с точки зрения RTOS. Но будет ли это эффективнее? Поделитесь мнениями.
Да и само прерывание - тоже задача. Не мелковата ли? sm.gif
Go to the top of the page
 
+Quote Post
SyncLair
сообщение Feb 21 2013, 16:01
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 209
Регистрация: 6-01-12
Пользователь №: 69 197



Всё зависит от реализации. Так как исходных кодов у Вас нет, то увы и ах придётся только тестировать такты.

В любом случае если глубина очереди в 1 элемент ( а именно так у вас и сделано в существуюшем варианте с сигналом) вас устраивает то почему-бы не остаться на текущем случае ибо пересылка двух байт в локальную переменную уж очень быстра по сравеннию с тем что надо

1. проверить полна/пуста ли очередь

2. поместить ваши два байта

3. счётчики и прочие упр структуры очереди обновоить.



--------------------
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 04:42
Рейтинг@Mail.ru


Страница сгенерированна за 0.01296 секунд с 7
ELECTRONIX ©2004-2016