Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: при отладке с JTAG mega128 AvrStudio не видит часть кода
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
andybeg
имеем цикл типа
Цитата
setstrob();
for(;;)
{
i++;
clrstrob();
if(timeout)
somfunc()
}

переменная timeout меняется в прерывании уарта и она вобщем то меняется, но if и его тело не видится и нет возможности поставить в него брэкпоинт ...
-SANYCH-
Отключите оптимизацию кода.
Как у вас объявлена переменная timeout ?
Попробуйте ниже по коду чего нибудь присвоить этой переменной
andybeg
Цитата(-SANYCH- @ Mar 17 2011, 14:39) *
Отключите оптимизацию кода.
Как у вас объявлена переменная timeout ?
Попробуйте ниже по коду чего нибудь присвоить этой переменной

да,до оптимизации уже додумался, отключил, вроди бы всё исправилось sm.gif
andybeg
счастье было временным - всё вернулось на круги своя при любой оптимизации sad.gif - при отладке пошаговой через житаг курсор положения программы не доходит до if sad.gif
demiurg_spb
У Вас timeout в прерываниях изменяется?
Тогда добавьте квалификатор volatile:
Код
volatile int timeout;
nk@
Была подобная трабла. Попробуйте вместо for(;;) поставить while(1)
Отладчику for(;;) почемуто не нравится (притом не всегда cranky.gif )
andybeg
>>volatile int timeout;
спасибо за напоминание - запамятовал я о такой инструкции sm.gif
>>Отладчику for(;;) почемуто не нравится (притом не всегда )
спасибо, интересный опыт
andybeg
с последнего моего поста тут, проблемы с житагом решились, но не полностью, в итоге решил избавиться от ВСЕХ варнингов предупреждающих о неиспользуемых переменных, благо несколько таких осталось и .. о чудо ... всё заработало предсказуемо и так как написал и нет непонятных перескоков ... шайтан
defunct
Цитата(nk@ @ Mar 31 2011, 20:54) *
Отладчику for(;;) почемуто не нравится (притом не всегда cranky.gif )

Чипуха полная. Для организации бесконечного цикла всегда использую for(;;) - с отладчиком никаких вопросов.
Скобочку { ставить с новой строки и по одному оператору на одну строку писать пробовали?..

Цитата(andybeg @ Apr 13 2011, 15:25) *
и .. о чудо ... всё заработало предсказуемо и так как написал и нет непонятных перескоков ... шайтан

Никаких чудес, нет warning'ов - значит компилятор подтверждает, что правильно понял ваш текст.
Есть Warning'и - могут быть и непонятки, что вы и наблюдали.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.