ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
3 декабря
1060519 Топик полностью
POV_ (13.12.2020 21:19, просмотров: 6) ответил fk0 на reentrant функции нужны для другого, для случаев когда функции могут вызываться из биглупа и из прерываний одновременно, например. Делать все функции подряд reentrant из-за коллбэков не стоит, т.к. reentrant функции используют симулированный стек, который ограничен в размерах, работают медленно, генерируется большой объём кода и т.п. И вызов любой не-reentrant функции из reentrant функции вызывает рекурсивно те же проблемы. А всё подряд reentrant не сделаешь. reentrant это
Ну я вот реентрантными сделал 5 колбеков. Все вызываются из прерываний... 

АЦП, УАРТ и т.п.

это не слишком корректно?


P.S. Проблема выскочила из-за желания сделать хорошо - накатал несколько слоев абстракции над периферией, чтобы "железячный" код не трогать. И вот наткнулся.