Алехин Александр (05.12.2014 18:10, просмотров: 167) ответил saifullin2 на Это запросто.
вот настройка // Выключаем FLL.
__bis_SR_register(SCG0);
// Разрешим работу внешнего часового резонатора.
UCSCTL6 = XT2OFF + XCAP_2; // LF_mode, емкость 8.5 пФ
while((UCSCTL7 & XT1LFOFFG) != 0) UCSCTL7 &= ~XT1LFOFFG;
// Настраиваем DCO с FLL на 8 МГц.
UCSCTL3 = 0; // FLL_in <- XT1, FLL_div = 1;
UCSCTL0 = DCO4;
UCSCTL1 = DCORSEL_4; // Диапазон 6..14 МГц.
UCSCTL2 = FLLD_0 + 249 + 15; // F_DCO = (N+1)*F_FLL_REF = 245 * 32768 = 8.028 МГц
UCSCTL7 = 0x0700;
UCSCTL8 = 0;
// Включаем FLL.
__bic_SR_register(SCG0);
__delay_usec(10000);
while((UCSCTL7 & DCOFFG) != 0) UCSCTL7 &= ~DCOFFG;
// MCLK = DCOCLK.
// ACLK = XT1CK.
// SMCLK = DCOCLK.
UCSCTL4 = SELS__DCOCLK + SELA__XT1CLK + SELM__DCOCLK;
UCSCTL5 = DIVA_0 + DIVS_0 + DIVM_0;
//RTC
RTCCTL0 = 0;
RTCCTL1 = RTCMODE_H + RTCHOLD_H;
RTCCTL3 = 1; // 512 Гц на выход RTCCLK
RTCCTL1 &= ~RTCHOLD_H;
в общем-то и вся настройка. не привел только настройку выводов часового кварца на alternate и RTCCLK на выход.
Вообще часовой резонатор работает - при закорачивании его ножек появляется флаг ошибки синхронизации, при выборе нагрузочной емкости кварца 2 пФ тоже (это запрещенная" комбинация).
Еще хотел сам ACLK померить - но не могу подобраться - к сожалению BGA и эти ноги свободные.