Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 06.05.2006, 11:52  
vovan_zh
Прописка
 
Регистрация: 29.08.2005
Сообщений: 139
Сказал спасибо: 7
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
vovan_zh на пути к лучшему
По умолчанию Помогите разобраться с макросом

Анализирую чужую программу на Си для АВРа.
там есть такой макрос:
#define WAIT { while(tm==0); tm=0; count++; }
Вопрос :
1.если соблюдается условие (tm==0) то выполнются оба оператора или только tm=0;
2.если условие не истино - оператор count++; выполняется?

пример использования макроса:

while((bit_is_set(PIND, RC5))&&(count‹16)) WAIT;
Реклама:
vovan_zh вне форума  
Непрочитано 06.05.2006, 12:05  
Panda_Y2k
Временная регистрация
 
Аватар для Panda_Y2k
 
Регистрация: 30.08.2005
Адрес: Ротовска йобласть
Сообщений: 84
Сказал спасибо: 2
Сказали Спасибо 3 раз(а) в 2 сообщении(ях)
Panda_Y2k на пути к лучшему
По умолчанию

›› #define WAIT { while(tm==0); tm=0; count++; }

while (tm ==0); - бесконечный цикл
Panda_Y2k вне форума  
Непрочитано 06.05.2006, 13:09  
vovan_zh
Прописка
 
Регистрация: 29.08.2005
Сообщений: 139
Сказал спасибо: 7
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
vovan_zh на пути к лучшему
По умолчанию

Сообщение от Panda_Y2k
›› #define WAIT { while(tm==0); tm=0; count++; }

while (tm ==0); - бесконечный цикл
tm - флаг прерывыния от таймера.
мне здесь непонятно count++; - является оператором входящим в цикл while?
vovan_zh вне форума  
Непрочитано 06.05.2006, 13:18  
vovan_zh
Прописка
 
Регистрация: 29.08.2005
Сообщений: 139
Сказал спасибо: 7
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
vovan_zh на пути к лучшему
По умолчанию

Спасибо. Кажется разобрался, не обратил внимание на точку с запятой после while(tm==0);. Тоесть ждет таймер, а после выполняет два оператора.
vovan_zh вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите разобраться stLex Микроконтроллеры, АЦП, память и т.д 2 06.04.2008 21:00
помогите разобраться ctefan Делимся опытом 26 05.01.2008 17:01
[Решено] Помогите разобраться. didik-dog Отвлекитесь, эмбеддеры! 5 02.09.2007 21:09
Помогите разобраться Mihail-1 Информация по радиокомпонентам 5 02.03.2007 00:13
Помогите разобраться Skt Микроконтроллеры, АЦП, память и т.д 7 26.08.2005 08:23


Часовой пояс GMT +4, время: 15:05.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot