Объясните начинающему....
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Колобок 30 августа 2004 г. 10:54

Объясните пожалуйста почему и как сделать правильно....
Среда - IAR

в прерывании по таймеру
{
count++; // Инкрементируем счетчик
}

в функции:
{
......

temp = count + 100;
while (count != temp); // Ждем, пока count не станет равен temp
// В этом месте программа и зависает....
......
}
Смотрим, что IAR накомпилировал....
(точно не помню, но смысл такой)

функция:

lds r16, 0x... ; получаем значение count
ldi r17, 100
add r17, r16 ; получем значение temp = count + 100
qqqq:
cp r16, r17 // вот и ошибка.... значение r16
brne qqqq // не обновляеться

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru