ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
21 ноября
95207 Топик полностью
M@ik (25.07.2007 17:48, просмотров: 1) ответил Petr_ на Вопрос по использованию инструкции DISI в dsPIC
Компилятор в общем случае не догадывается, сколько тактов выполняется код, так как в коде могут быть циклы, с числом итераций неизвестным на этапе компиляции. А для запрещения прерываний на время предназначены макросы от микрочипа SET_AND_SAVE_CPU_IPL и RESTORE_CPU_IPL (находятся заголовочных файлах на каждый процессор, например в p33FJ256GP710.h) <c> // Перед входом в критический участок // установка максимального уровня приоритета процессора // и сохранение старого значения int temp; SET_AND_SAVE_CPU_IPL(temp,7); ... критический код // восстановление старого уровня приоритета RESTORE_CPU_IPL(temp); </c>