Функции на асме, не обязательно инлайн. Расходы на call/ret известны, количество тактов - одинаково. Если подходить совсем глобально, вставить препроцессорный макрос высчитывающий количество проходов цикла в зависимости от частоты. Запретить прерывание внутри. Но это более пригодно для микросекундных задержек. Для миллисекундных я например использую 2-й таймер с автоперезагрузкой с циклом в 100мкс, а от него веду софтварные таймеры, в которые вставлены хэндлеры функций. Точность получается весьма пристойная для самых критичных задач.
--------------------
Вони шукають те, чого нема, Щоб довести, що його не існує.
|