Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Обращение к ETIFR
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Stepanich
Здравствуйте.
Подскажите, в чём ошибка: обращаюсь к регистру ETIFR следующим образом, например, ETIFR=1 или while(ETIFR&1). Ни в симуляторе, ни в железе эти команды не отрабатываются, хотя обращение, например, к TIFR работает нормально.
uC – M128, компилятор - CVAVR 1.24.6.
Спасибо.
Mt_
Цитата(Stepanich @ Aug 21 2005, 01:13)
Здравствуйте.
Подскажите, в чём ошибка: обращаюсь к регистру ETIFR следующим образом, например, ETIFR=1 или while(ETIFR&1). Ни в симуляторе, ни в железе эти команды не отрабатываются, хотя обращение, например, к TIFR работает нормально.
uC – M128, компилятор - CVAVR 1.24.6.
Спасибо.
*

ETIFR находится в другой области памяти нежели TIFR. И поэтому к нему обращаться нужно sts(lds) ETIFR, но In(Out) TIFR. Вы это учитываете ?
yung
Вообще-то эти вещи компилятор отслеживать должен. Человек ведь на Си пишет. С этим регистром (ETIFR) я не сталкивался, но когда попытался через define вставить ассемблерную команду установки бита в порту F или G (то есть тоже лежит за пределами адресов, где работают sbi, cbi), компилятор ругнулся на ошибку. Вставив же туда аналогичную Си-команду типа PORTF|=0x01, получил рабочий код, т.е. компилятор эти вещи знает. Но я использую ICC. Здесь, похоже, глюк codevision. У Stepanich есть выход в виде ассемблерной вставки. Можно, конечно, попытаться найти более свежую версия компилятора либо сервис-пак. Такие вещи производители быстро находят и исправляют. Я, например, не помню уж с чем ругался на AVR-Studio (не симулировала какую-то периферию), потом вспомнил, что в Аргуссофте с программатором дали диск, на нем куча инфы и что-то из софта. Так вот, там оказался и сервис-пак, который этот глюк исправил.
IgorKossak
Просмотрите ассемблерный листинг, который выдаёт компилятор в результате работы (если в CV есть такая опция).
Обычно помогает.
Если обнаружите глюк компилятора, то придётся делать ассемблерную вставку.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.