Цитата(rezident @ Jun 3 2009, 16:23)

А можно привести фрагмент программы инициализации системы тактирования при котором МК гарантированно виснет?
Код
void main(void)
{
//--------------------------------
// Инициализация охранного таймера
//--------------------------------
WDTCTL = WDTPW + WDTHOLD + WDTNMI + WDTNMIES; // Stop watchdog timer
IFG1 &= ~NMIIFG; // Reclear NMI flag in case bounce
IE1 |= NMIIE; // Enable NMI
//-----------------------------------
// Инициализация тактового генератора
//-----------------------------------
// Load 8MHz constants
//DCOCTL = CALDCO_1MHZ;
//BCSCTL1 = CALBC1_1MHZ;
// ####### ERROR #######
DCOCTL = CALDCO_8MHZ;
BCSCTL1 = CALBC1_8MHZ;
//######################
// Разрешить внешние прерывания
P1IE |= P10_DIN;
P2IE |= P20_DIN;
//----------------------
// Инициализация таймера
//----------------------
CCTL0 = CCIE; // CCR0 interrupt enabled
CCR0 = 50000;
TACTL = TASSEL_2 + MC_2; // SMCLK, contmode
_BIS_SR(LPM0_bits + GIE); // Enter LPM0 w/ interrupt
//__low_power_mode_4(); // Низкое
}
// Timer A0 interrupt service routine
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A (void)
{
P2OUT ^= 0x08; // Toggle P1.0
CCR0 += 50000; // Add Offset to CCR0
}