Код
void InitializationTimersMSP430 (void) // Функция инициализации внутренних аппаратных таймеров микроконтроллера MSP430F135
{
// Общая инициализвция модуля тактирования микроконтроллера
BCSCTL1 = 0x00; // Обнуление управляющего регистра BCSCTL1
BCSCTL2 = 0x00; // Обнуление управляющего регистра BCSCTL2
BCSCTL1 = RSEL0; // Сопротивление внутреннего резистора -> минимальное
BCSCTL2 = SELM_0 | // Источник тактирования MCLK -> DCO
DIVM_3 | // Делитель MCLK -> 8
SELS_0 | // Источник тактирования SMCLK -> DCO
DIVS_3; // Делитель SMCLK -> 8
DCOCTL = DCO0 | // Частота генератора -> (??? Гц)
MOD0 | MOD1 | MOD2 | MOD3 | MOD4; // Модулятор тактовой частоты DCO -> МАКСИМУМ
LPM4; // Низкое энергопотребление
// Инициализация таймера А
TACTL = TASSEL_2 | // Источник тактирования таймера -> сигнал SMCLK (???МГц)
ID_3 | // Предделитель таймера -> 8
MC_1; // Режим работы таймера -> счёт вверх до значения TACCR0
TACCR0 = 10000; // Счёт до значения -> 10000
TACCTL0 = CCIE; // Разрешение прерывания по захвату/сравнению, разрешение запроса прерывания от флага CCIFG
}
{
// Общая инициализвция модуля тактирования микроконтроллера
BCSCTL1 = 0x00; // Обнуление управляющего регистра BCSCTL1
BCSCTL2 = 0x00; // Обнуление управляющего регистра BCSCTL2
BCSCTL1 = RSEL0; // Сопротивление внутреннего резистора -> минимальное
BCSCTL2 = SELM_0 | // Источник тактирования MCLK -> DCO
DIVM_3 | // Делитель MCLK -> 8
SELS_0 | // Источник тактирования SMCLK -> DCO
DIVS_3; // Делитель SMCLK -> 8
DCOCTL = DCO0 | // Частота генератора -> (??? Гц)
MOD0 | MOD1 | MOD2 | MOD3 | MOD4; // Модулятор тактовой частоты DCO -> МАКСИМУМ
LPM4; // Низкое энергопотребление
// Инициализация таймера А
TACTL = TASSEL_2 | // Источник тактирования таймера -> сигнал SMCLK (???МГц)
ID_3 | // Предделитель таймера -> 8
MC_1; // Режим работы таймера -> счёт вверх до значения TACCR0
TACCR0 = 10000; // Счёт до значения -> 10000
TACCTL0 = CCIE; // Разрешение прерывания по захвату/сравнению, разрешение запроса прерывания от флага CCIFG
}