ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
21 ноября
1219089 Топик полностью
Costic (28.06.2022 19:26, просмотров: 329) ответил Dingo на Спасибо. Н. Вирта - вы про эту? Бентли - не попадалось упоминание, поищу, ознакомлюсь. Про развитие - примерное представление имею, что в каких случаях годно; я спросил в контексте baremetal + Си. С++ пока опасаюсь применять. 2) Да. Но даже если ресурс освободился или событие произошло в штатном случае будет ожидаться вызов планировщика, а не максимально быстрое переключение на ожидающую задачу, если приоритет ожидающей выше исполняемой. Это точно не линукс-ы, это RTOS или
В прерывании вызываете osSignalSet(), а в ожидающей задачке ждёте сигнал: 
// wait for a signal

evt = osSignalWait (0x01, 100);

if (evt.status == osEventSignal)

{

  // handle event status

}

P.S. Обычно рекомендуют всякие "Паттерны проектирования" - штука полезная, но книга "гамно", много лишних букв. Всё содержание можно в тетрадке уместить или в статье. Хорошо, что сделали графические "карточки-напоминалки" по сути этой книжки. На мой взгляд в ембеддинге малопригодны эти паттерны, т.к. они сильно зависят от динамической памяти и фрагментация может навредить. В других местах - свои паттерны, частично пересекающиеся - Qt, MFC... И вообще, сейчса тенденция к микросервисам, а потом назад в монолит. ;-)

https://arm-software.github.io/CMSIS_5/RTOS/html/group__CMSIS__RTOS__SignalMgmt.html#ga3de2730654589d6c3559c4b9e2825553