Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 05.03.2020, 15:00  
p_v
Гражданин KAZUS.RU
 
Регистрация: 07.05.2019
Адрес: СПб
Сообщений: 729
Сказал спасибо: 65
Сказали Спасибо 141 раз(а) в 87 сообщении(ях)
p_v на пути к лучшему
По умолчанию Как заменить программный поллинг на аппаратный idle в event loop?

Есть классический event loop, который проверяет флаги и выпоняет код, если что-то приехало из прерываний.

Это конечно завернуто в "кооперативную многозадачность" через ETL, но суть не меняется. По факту, имеем подобие бесконечного цикла, где флаги выставляются из прерываний:

Код:
for(;;) {
 if (has_data1) process_data_1();
 if (has_data2) process_data_2();
 if (has_data3) process_data_3();
}
Основное время этот цикл проверяет флаги и ничего не делает. Хочется по-простому скроить потребление ядра (без фанатизма с микропотреблением). Можно ли как-то по-простому загонять stm32f0 в idle? Так чтобы случайно ничего не пропустить. Не уверен что просто выполнить WFI хорошая идея.

Если в HAL есть готовые фукции - тогда совсем замечательно.
Реклама:

Последний раз редактировалось p_v; 05.03.2020 в 15:20.
p_v вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ускорить компьютер 7Fantomas7 Ремонт оргтехники 111 08.08.2018 05:27
Помогите завести радиомодуль 433мгц на si4463 whoim Автоматика и аппаратура связи 32 27.07.2018 18:38


Часовой пояс GMT +4, время: 08:57.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot