Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

а теперь понял принцип, только вот еще что [+]

Отправлено MegaJohn (81.222.85.88) 22 июля 2010, г. 12:32
В ответ на: Вы принцип увидели? Я независимо от оптимизации не даю ему свободы(+) отправлено Quasy 22 июля 2010, г. 12:05

align=Top
самое интересное что даже предложенный optimize = none не помогает - везде переходы вставляет.

по вашему примеру сделал следующее и сразу лучше стало:

////////////////////////////////////////////////////////////////////////////////
#pragma optimize = none
void watchdog_disable( void )
{
INTERRUPT_PUSH_AND_CLR;
WATCHDOG_RESET;

MCU_REG &= ~(1 << WDRF);
u8 t = WDT_REG;
t |= (1 << WDCE) | (1 << WDE);
WDT_REG = t;
WDT_REG = 0;
INTERRUPT_POP;
}

////////////////////////////////////////////////////////////////////////////////
#pragma optimize = none
void watchdog_enable_8sec( void )
{
INTERRUPT_PUSH_AND_CLR;
WATCHDOG_RESET;
u8 t1 = WDT_REG;
u8 t2 = t1;
t1 |= (1 << WDCE) | (1 << WDE);
t2 |= (1 << WDE) | (1 << WDP3) | (1 << WDP0);
WDT_REG = t1;
WDT_REG = t2;
INTERRUPT_POP;
}


и все отлично, но компилятор сует JUMP, как бы избавиться ?

причина то в том, что обе фунции юзаются.

int main( void )
{
watchdog_disable();
бла-бла
watchdog_enable_8sec();
}

Можно конечно сделать сразу енабле, но это не выход - вдруг потом где в пректе будет строка управления ватчдогом и оптимизатор нафигачит и буду чесать репу

Картинка: http://upload.caxapa.ru/iar_watchdog_incorrect_quas.gif


Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
если прибавить четыре к четырём будет:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru