Цитата(Dog Pawlowa @ Apr 24 2009, 14:50)

В общем случае все это так, но если глянуть, с чего все начиналось у топикстартера, и какие же там переменные используются, то лично у меня вопрос остается.
При записи вида:
Код
WDTCSR |= (1 << WDCE) | (1 << WDE);
Компилятор действительно генерит код не укладывающийся в 4 такта...
Я решал проблему, описываемую автором темы, записью нужного числа непосредственно в регистр, типа того:
Код
WDTCSR |= 0x01;
При этом (как ни странно) код получается нормальный, даже с полной оптимизацией, и число попадает в регистр без лишних тедлодвижений...
ИМХО автор перемудрил с отключением оптимизации для функции...
Сообщение отредактировал tourist - Apr 24 2009, 12:13