Не выполняются функции
15.05.2013, 21:40
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,284
Сказал спасибо: 441
Сказали Спасибо 1,040 раз(а) в 701 сообщении(ях)
|
Re: Не выполняются функции
Пошаговая отладка может идти или по нажатию F7 или по нажатию F8. В одном случае отладчик показывает вызовы/возвраты функций, в другом - просто выполняет функцию и останавливается перед следующим оператором. Когда задаете точку останова внутри функции, он Вам её показывает, иначе - нет
__________________
misterdi<@>i.ua
|
|
|
|
15.05.2013, 22:36
|
|
|
Гражданин KAZUS.RUN
Регистрация: 31.12.2010
Сообщений: 837
Сказал спасибо: 371
Сказали Спасибо 153 раз(а) в 113 сообщении(ях)
|
Re: Не выполняются функции
Конечно идиотизм, но вдруг. А вы точно шаги отладки делаете с помощью кнопки trace_into, а не trace_over?
|
|
|
|
15.05.2013, 23:07
|
|
|
Супер-модератор
Регистрация: 15.10.2007
Сообщений: 3,578
Сказал спасибо: 175
Сказали Спасибо 1,567 раз(а) в 810 сообщении(ях)
|
Re: Не выполняются функции
А зачем шагать, когда есть Run.
|
|
|
|
15.05.2013, 23:36
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,613
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: Не выполняются функции
Сообщение от Flopix
|
|
Конечно идиотизм, но вдруг. А вы точно шаги отладки делаете с помощью кнопки trace_into, а не trace_over?
|
Я же с намеком на это и написал пост №3...
__________________
С уважением,
Vic / ut1wpr
|
|
|
|
16.05.2013, 00:30
|
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
|
Re: Не выполняются функции
Это у него в прерывании такой код выполняется?
|
|
|
|
16.05.2013, 09:53
|
|
|
Временная регистрация
Регистрация: 27.02.2012
Адрес: Николаев
Сообщений: 98
Сказал спасибо: 8
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Re: Не выполняются функции
ut1wpr
|
Цитата:
|
Да я просто теряюсь, когда такое вижу. Я не понимаю, надо мной смеются или мне экзамен на тупость устраивают? Даже побаиваюсь вопрос задать.
Все таки похоже на жесть. Разве что не громыхает...
|
Ошибки в синтаксисе нет, просто я привёл часть кода, чтобы указать на проблему. Т.е. показать структуру, так сказать. Если нужно могу выложить весь код.
realid
|
Цитата:
|
|
А зачем шагать, когда есть Run.
|
Вот именно, его и использую.
Easyrider83
Да там не много кода, пару строчек.
nahimovv
|
Цитата:
|
|
А как вы это определили? Повесьте светодиод и инвертируйте пин в функции, в которую вы якобы не попадаете, и увидите - попадаете или нет.
|
Определил очень просто. Программка делает следующее: считает кол-во внешних импульсов таймером №0. Срабатывает прерывание по переполнению, выполняется ф-ция подсчёта частоты импульсов. В этой фу-ции есть ф-ция обнуления значений таймера0 перед новым циклом счёта. Так вот, если КТ ставить, то она выполняется и в переменной значения частоты импульсов результат верный. Если КТ не ставить, то ф-ция не выполняется и там бред.
Последний раз редактировалось <VenoM>; 16.05.2013 в 09:56.
|
|
|
|
16.05.2013, 15:36
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,284
Сказал спасибо: 441
Сказали Спасибо 1,040 раз(а) в 701 сообщении(ях)
|
Re: Не выполняются функции
|
Код:
|
do //очистить TMR0 перед следующим циклом счёта
{
cykle_status=1;
tmr_temp2=TMR0H;
if (tmr_temp2==0)
{break;}
}
while (INTCONbits.TMR0IF==0); |
Сидеть в прерывании и ждать события другого таймера чревато переполнением стека. Особенно, если импульсы счета пропадут
__________________
misterdi<@>i.ua
|
|
|
|
16.05.2013, 15:47
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,613
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: Не выполняются функции
Сообщение от ‹VenoM›
|
|
Так вот, если КТ ставить, то она выполняется и в переменной значения частоты импульсов результат верный. Если КТ не ставить, то ф-ция не выполняется и там бред.
|
Так вот, позвольте считать написанное бредом. Как вы определяете, что функция не выполняется? Визуально? Вы не сможете увидеть значения в вотчах, не остановив дебаггинг (есть, правда, варианты, но вам еще рано). Если у вас есть переменная, модифицируемая "проходной" функцией, то поставьте КТ до функции и после, а саму переменную - в вотч. И не забудьте ее сделать глобальной. Вторую страницу вам рассказывают прописную истину. А вы уверены, что программа бредит. Как у вас погода? Жарко? 
PS Кроме пупок RUN, есть еще не менее важные STEP_IN, STEP_OUT, RUN_TO. Голый RUN без простановки BP просто погонит программу без вотчингов. Я не понимаю, как вам удается объявлять функцию внутри функции?
__________________
С уважением,
Vic / ut1wpr
Последний раз редактировалось ut1wpr; 16.05.2013 в 15:53.
|
|
|
|
16.05.2013, 16:56
|
|
|
Временная регистрация
Регистрация: 27.02.2012
Адрес: Николаев
Сообщений: 98
Сказал спасибо: 8
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Re: Не выполняются функции
ut1wpr
|
Цитата:
|
|
Если у вас есть переменная, модифицируемая "проходной" функцией, то поставьте КТ до функции и после, а саму переменную - в вотч. И не забудьте ее сделать глобальной. Вторую страницу вам рассказывают прописную истину.
|
Это сделано.
|
Цитата:
|
|
Как у вас погода? Жарко?
|
+30
|
Цитата:
|
|
Голый RUN без простановки BP просто погонит программу без вотчингов.
|
Одну я поставил на вектор прерывания.
P.S. Значит так, оставляю в прерывании только считывание данных, потом отписываюсь о результатах. Таки возможно переполнение стека.
|
|
|
|
16.05.2013, 17:03
|
|
|
Заблокирован
Регистрация: 25.04.2013
Сообщений: 1,427
Сказал спасибо: 0
Сказали Спасибо 381 раз(а) в 251 сообщении(ях)
|
Re: Не выполняются функции
Сообщение от ‹VenoM›
|
|
если КТ ставить, то она выполняется и в переменной значения частоты импульсов результат верный. Если КТ не ставить, то ф-ция не выполняется и там бред.
|
А вы не задумывались, что на бряке тормозится только прога, а не периферия? И что поведение при пошаговой и свободнобегущей отладке может отличаться?
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 15:45.
|
|