Сейчас заметил что если в регистры писать прямые значения то код занимает меньше места.
Переписал таким образом:
Код: Выделить всё
// WDTCR = _BV(WDTIE);
// WDTCR |= (1<<WDP3 )|(0<<WDP2 )|(0<<WDP1)|(1<<WDP0); // prescale timer to 8s so we can measure current
// WDTCR |= (1<<WDTIE); // Enable watchdog timer interrupts
WDTCR = 0x61; // так меньше код
//--------------------------
//DDRB = 0xFF; // порт B на выход
//DDRB &= ~_BV(zMISO); // на ввод
//DDRB &= ~_BV(zTEMP); // на ввод
//DDRB &= ~_BV(zBATT); // на ввод
DDRB = 0xE6; // так меньше код
//--------------------------
//ADCSRA = _BV(ADEN) | _BV(ADPS2) | _BV(ADPS1) | _BV(ADPS0); // Prescaler to 128 --> F_CPU / 128
//ADCSRA |= _BV(ADSC);
ADCSRA = 0xC7; // так меньше код
//--------------------------
//TIMSK0 &= ~(1<<TOIE0);
TIMSK0=0x00; // так меньше код
Раньше думал, компилятор оптимизирует код и разницы быть не должно. А оно вон как…
Контроллер прошил, все работает. Нет ли тут подводных камней?

