[an error occurred while processing this directive]
while(+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
миниатюрный аудио-видеорекордер mAVR

Отправлено Alecsandro 08 июля 2002 г. 10:45

Нужно было мне подождать, когда порт сбросится в ноль, и задумал я реализовать это на C (IAR для AVR). И получилась загадочная вещь: одинаковые по смыслу конструкции работают по-разному. Пример:

#define ReadBit(MPort,MBit) MPort&(1<unsigned char pb;

Так вот, при наличии единицы на опрашиваемом порту конструкция
while (ReadBit(PIND,Input));
ждать ничего не желает, а вот
do
pb=ReadBit(PIND,Input)
while(pb);
работает правильно :( Не подскажите, почему?

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

Ответы



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

E-mail: info@telesys.ru