Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: __delay_cycles()
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > IAR
_trunk_
Добрый день! Для формирования задержки внутри функции обработки прерывания использую __delay_cycles(d). если d - локальная переменная (область видимости - функция обработки прерывания), то __delay_cycles(d) работает. если d - глобальная переменная или статическая локальная переменная, то компилятор выдает ошибку: аргумент __delay_cycles() должен быть константным выражением. В чем причина?
KRS
Цитата(_trunk_ @ Sep 21 2011, 12:06) *
компилятор выдает ошибку: аргумент __delay_cycles() должен быть константным выражением. В чем причина?

в этом и причина, аргументом может быть только константа, т.е. заранее известная величина. с локальной переменной тоже может быть ошибка, просто компилер мог просчитать ее значение.
если нужна именно переменная функцию придется писать самостоятельно на асме, она не такая сложная.
_trunk_
спасибо, разобрался
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.