реклама на сайте
подробности

 
 
> Не могу выйти из цикла, ATmega16; Компилятор: ICCV7 for AVR
Aneg
сообщение Dec 23 2010, 13:01
Сообщение #1





Группа: Новичок
Сообщений: 5
Регистрация: 19-12-09
Пользователь №: 54 346



Компилятор: ICCV7 for AVR, http://www.imagecraft.com/
Целевой камень: ATmega16


ADCSR |= BIT(6); //запуск АЦП

while (ADIF != 1){ //ожидание установки флага ADIF завершения АЦП
}

UDR = 0x03; //контрольная отправка в СОМ порт


Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Xenia
сообщение Dec 23 2010, 13:10
Сообщение #2


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



ADIF - это номер бита, а не регистр. Проверять надо регистр ADCSRA на наличие этого флага. Вот так:
while (!(ADCSRA & (1<<ADIF))) {}

Здесь, сдвигом единички влево, из номера бита получается маска. Потом с помощью операции "&", бит ADIF вырезается из значения регистра статуса ADCSRA. Результат сравнения инвертируем операцией "!".

P.S. На ICCV7 я не работаю, поэтому для уточнения рекомендации смотрите сами, как определен ADIF в хидере: номер бита он или маска.
На моем любимом IAR'е sm.gif это выглядит много изящней и нагляднее:
while( !ADCSRA_ADIF) {}
Рекомендую.
Go to the top of the page
 
+Quote Post
Aneg
сообщение Dec 23 2010, 14:07
Сообщение #3





Группа: Новичок
Сообщений: 5
Регистрация: 19-12-09
Пользователь №: 54 346



Спасибо заработало!
Я вчера тоже проинсталил IAR, но не нашел там генератор начального кода (Application Builder). Слыхал что у IAR это реализовано в отдельной программе. Подскажите как она называется?

Сообщение отредактировал IgorKossak - Dec 23 2010, 14:52
Причина редактирования: Лишнее цитирование
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Dec 23 2010, 14:51
Сообщение #4


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



QUOTE (Aneg @ Dec 23 2010, 19:07) *
Я вчера тоже проинсталил IAR, но не нашел там генератор начального кода (Application Builder). Слыхал что у IAR это реализовано в отдельной программе. Подскажите как она называется?

Application Builder уже давно не поддерживается IARом как тупиковый проект. Последние его версии были года четыре назад, если не больше. Так что пробуйте обходиться без него и внимательно изучайте примеры (от самого IARа и от кого угодно).
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 06:13
Рейтинг@Mail.ru


Страница сгенерированна за 0.01424 секунд с 7
ELECTRONIX ©2004-2016