Проблема с циклами в ИАР Си для МСП
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
|
Отправлено
Scout 02 апреля 2004 г. 13:08
|
|
|
|
Пишу текст примерно такого содержания:
void main(void)
{
.................
.................
for(;;)
{
тело цикла;
}
функция1;
функция2;
}
Проблема в том, что вместо того чтобы выполнять тело бесконечного
цикла, Иар начинает выполнять функцию1,выполнив тело бесконечного цикла только один раз, такая же ситуация наблюдается если бесконечный
цикл заменить на цикл с условием(типа for(i=0;i<10;i++)). Это глюки Иара, или я чего-то недопонимаю?
И еще. Почему вдруг Иар отказывается ставить брейкпоинты на те команды на которые он раньше их без проблем ставил?
Составить ответ
|||
Конференция
|||
Архив
Ответы
- Ответ: — lamerok (05.04.2004 17:28, 51 байт)
- Ответ: — lamerok (05.04.2004 17:28, 51 байт)
- Для бесконечных циклов я пользую оператор while(1); работает без проблем. — rezident (02.04.2004 18:01, пустое)
- а какая версия иара, у меня в V2.20A-P030708/W32 (2.20.1.7) такие вещи не наблюдаются, а точки останова не ставятся очевидно потому что после какихто изменений в коде код на кот. ставится точка останова становится никогда не используемым и компиллер его не включает в результирующий код (типа оптимизация), соответственно этого кода нет и брейкпоинт поставить некуда... — SOIC (02.04.2004 15:45, пустое)
- Ответ: — scout (02.04.2004 20:25, 69 байт)
- Значит цикл не бесконечный. Это может случиться в результате оптимизации при генерации кода компилятором. — Bill (02.04.2004 14:36, пустое)
- Скорее всего отказывается ставить брейкпоинты на те команды, которые были удалены при оптимизации. — Михаил Е. (02.04.2004 13:19, пустое)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru