Что-то я в ступоре совсем...
Подключаю к ногам кварц - он не работает. Вешаю на ноги 7 и 8 через кондеры на землю. Пробовал без кондеров, и с кондерами разных номиналов от 10 до 43 пФ. Кварцов штук 10 сменил. Контроллер тоже менял - не хочет работать и все. Где-то, кажется видел, что к одной из ног нужно 8 пФ цеплять, а ко второй 16 .. пробовал - не помогает. Весь даташит переслюнявил - нигде такого нет.. только общие указания 12..22 пФ.. Виснет после перехода в асинхронный режим в ожидании изменения значений регистров таймера 2.
код:
Спойлер
Код: Выделить всё
CLKPR = _BV(CLKPCE); // Уменьшаем тактовую частоту
CLKPR = 4; // 500 000 Гц
asm("wdr");
MCUSR &= ~_BV(WDRF); // Отключение сторожевого таймера
WDTCSR |= _BV(WDCE) | _BV(WDE);
WDTCSR = 0;
ACSR = _BV(ACD); // Выключаем компаратор
ADCSRA = _BV(ADEN); // Включаем АЦП
DDRB = _BV(Day_3) | _BV(Day_4) | _BV(Day_7) | _BV(Dvig1) | _BV(Dvig2); // Ноги на выход
DDRC = _BV(Min_30) | _BV(Min_40) | _BV(Min_60) | _BV(Day_1) | _BV(Day_2); // Ноги на выход
DDRD = _BV(Power) | _BV(Work); // Ноги на выход
B_PORT = _BV(B_Vrem) | _BV(B_Prd) | _BV(B_Strt); // Подтягивающие резисторы к кнопкам
ON_Power; // макрос зажигания первого светодиода (загорается)
ASSR = _BV(AS2); // Включаем таймер от кварца.
TCNT2 = 0;
OCR2A = 63;
TCCR2A = _BV(WGM21);
TCCR2B = 1;
TIFR2 = 0xFF;
TIMSK2 = _BV(OCIE2A);
while ((ASSR & 0b11111) != 0); // зависает здесь. после комментирования строчки второй светик зажигается
ON_Work; // макрос зажигания второго светодиода (не загорается)Мож фьюзы какие включить надо?
P.S. Да, если щупом осциллографа тронуть ножку 7 контроллера, то второй светик зажигается (видимо, проходит импульс). Далее кварц также не работает....



