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

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

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

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

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

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


 
Опции темы
Непрочитано 15.05.2013, 12:22  
<VenoM>
Временная регистрация
 
Регистрация: 27.02.2012
Адрес: Николаев
Сообщений: 98
Сказал спасибо: 8
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
<VenoM> на пути к лучшему
По умолчанию Не выполняются функции

такой вопросец. Используется компилятор PIC C18, в качестве отладчика - PICKit 2 (оригинальный, если это важно). Так вот, последовательно должны выполняться несколько функций. Когда в этих функциях ставишь контрольные точки - то они выполняются. Когда контрольные точки снимаются - функции не выполняются (перескакиваются, как будто их нет вообще). Возникла мысль, что это могут быть проделки оптимизации кода. Это может быть причиной? Как её отключить? Сходу не нашёл
Реклама:
<VenoM> вне форума  
Непрочитано 15.05.2013, 17:08  
realid
Супер-модератор
 
Аватар для realid
 
Регистрация: 15.10.2007
Сообщений: 3,529
Сказал спасибо: 172
Сказали Спасибо 1,560 раз(а) в 810 сообщении(ях)
realid на пути к лучшему
По умолчанию Re: Pickit2

Сообщение от ‹VenoM› Посмотреть сообщение
Когда в этих функциях ставишь контрольные точки - то они выполняются. Когда контрольные точки снимаются - функции не выполняются (перескакиваются, как будто их нет вообще).
Быть такого не может.
realid вне форума  
Непрочитано 15.05.2013, 17:50  
ut1wpr
Почётный гражданин KAZUS.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: Pickit2

Сообщение от realid Посмотреть сообщение
Быть такого не может.
Запросто! Если шагать без захода...
__________________
С уважением,
Vic / ut1wpr
ut1wpr вне форума  
Непрочитано 15.05.2013, 18:37  
<VenoM>
Временная регистрация
 
Регистрация: 27.02.2012
Адрес: Николаев
Сообщений: 98
Сказал спасибо: 8
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
<VenoM> на пути к лучшему
По умолчанию Re: Pickit2

realid
Цитата:
Быть такого не может.
Ну вроде не курил, не пил ничего, на трезвую голову смотрел.

ut1wpr
Ну как без захода-то...

Код вот такого плана:
Код:
#pragma code high_vector=0x08
void high_vector (void)
{_asm goto obrabotka _endasm}

#pragma code
#pragma interrupt obrabotka


void obrabotka () 
{
void read_counter_1 (void)
{
TMR1L=0;// обнуляем регистры таймера 1
TMR0L=0;
tmr_value=65535;
tmr1_value=tmr_temp;
tmr1_value=tmr1_value*k1_freq;
tmr1_value=tmr1_value/tmr_value;
T0CON=0b10011000;//включить таймер как внутр. таймер
tmr0_clr (); //не выполняется, пока КТ не    поставить в ф-ции "void read_counter_1 (void)"
INTCONbits.TMR0IF=0;	
}
 

void tmr0_clr (void)
{	
	TMR1L=0;//обнулить значение таймера
	T1CONbits.TMR1ON=0;//выкл таймер 1
	do //очистить TMR0 перед следующим циклом счёта
	{
	cykle_status=1;
	tmr_temp2=TMR0H;
		if (tmr_temp2==0)
		{break;}
	} 
	while (INTCONbits.TMR0IF==0);
	pred_25kHz;
}
}
<VenoM> вне форума  
Непрочитано 15.05.2013, 18:44  
realid
Супер-модератор
 
Аватар для realid
 
Регистрация: 15.10.2007
Сообщений: 3,529
Сказал спасибо: 172
Сказали Спасибо 1,560 раз(а) в 810 сообщении(ях)
realid на пути к лучшему
По умолчанию Re: Pickit2

Давайте весь минимальный проект где код не выполняется без бряков.
Бряки не влияют на "выполняется или нет", это точки останова. Так же оптимизация влияет на кол-во кода и некоторые фрагменты кода могут быть выброшены или "сжаты", если вы поставите бряк на такой фрагмент, то МПЛАБ выдаст предупреждение, что бряк стоит на "пустом" месте.
realid вне форума  
Непрочитано 15.05.2013, 18:47  
ut1wpr
Почётный гражданин KAZUS.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: Pickit2

Сообщение от ‹VenoM› Посмотреть сообщение
Код:
void obrabotka () 
{
void read_counter_1 (void)
{
TMR1L=0;// обнуляем регистры таймера 1
...
...
}
Вот с этого места поподробнее. Как это понимать? У меня бы компилятор ругнулся на нарушение баланса скобок. А жена сказала бы - ну кто же внутри функции еще одну объявляет?
__________________
С уважением,
Vic / ut1wpr

Последний раз редактировалось ut1wpr; 15.05.2013 в 18:50.
ut1wpr вне форума  
Непрочитано 15.05.2013, 18:47  
realid
Супер-модератор
 
Аватар для realid
 
Регистрация: 15.10.2007
Сообщений: 3,529
Сказал спасибо: 172
Сказали Спасибо 1,560 раз(а) в 810 сообщении(ях)
realid на пути к лучшему
По умолчанию Re: Pickit2

Сообщение от ut1wpr Посмотреть сообщение
Запросто! Если шагать без захода...
Это как так "шагать без захода"? Хотите сказать что отладчик изменяет программный счетчик, чтобы пропустить вызов функции?

Сообщение от ut1wpr Посмотреть сообщение
Вот с этого места поподробнее.
Да там вообще жесть, походу.

Последний раз редактировалось realid; 15.05.2013 в 19:06.
realid вне форума  
Непрочитано 15.05.2013, 18:59  
nahimovv
Заблокирован
 
Регистрация: 25.04.2013
Сообщений: 1,431
Сказал спасибо: 0
Сказали Спасибо 385 раз(а) в 254 сообщении(ях)
nahimovv на пути к лучшему
По умолчанию Re: Pickit2

Сообщение от ‹VenoM› Посмотреть сообщение
Когда в этих функциях ставишь контрольные точки - то они выполняются. Когда контрольные точки снимаются - функции не выполняются (перескакиваются, как будто их нет вообще).
А как вы это определили? Повесьте светодиод и инвертируйте пин в функции, в которую вы якобы не попадаете, и увидите - попадаете или нет.
nahimovv вне форума  
Непрочитано 15.05.2013, 19:26  
nahimovv
Заблокирован
 
Регистрация: 25.04.2013
Сообщений: 1,431
Сказал спасибо: 0
Сказали Спасибо 385 раз(а) в 254 сообщении(ях)
nahimovv на пути к лучшему
По умолчанию Re: Pickit2

Сообщение от ut1wpr Посмотреть сообщение
А жена сказала бы - ну кто же внутри функции еще одну объявляет?
Да, так можно и без борща со сметаной остаться, и без вареников.
nahimovv вне форума  
Непрочитано 15.05.2013, 19:48  
ut1wpr
Почётный гражданин KAZUS.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: Pickit2

Сообщение от nahimovv Посмотреть сообщение
Да, так можно и без борща со сметаной остаться, и без вареников.
Да я просто теряюсь, когда такое вижу. Я не понимаю, надо мной смеются или мне экзамен на тупость устраивают? Даже побаиваюсь вопрос задать.
Все таки похоже на жесть. Разве что не громыхает...
__________________
С уважением,
Vic / ut1wpr
ut1wpr вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Расчет функции косинус Nihoden TTL и CMOS логика 26 14.05.2013 16:49
Функции в MicroC! kviper Микроконтроллеры, АЦП, память и т.д 10 19.10.2009 16:35
Битовые функции в CodeVision Andrewg Микроконтроллеры, АЦП, память и т.д 3 03.08.2007 12:19
Стандартные функции С30 Dmitriy_L Микроконтроллеры, АЦП, память и т.д 1 30.05.2007 22:01
строковые функции в cvavr arc Микроконтроллеры, АЦП, память и т.д 15 10.03.2007 01:14


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


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