У меня в библиотеке значение LPM4 немного изменено просто, так что всё впорядке)
а мой вопрос немного изменился. мне надо создать ШИМ с частотой 200Гц, что бы можно было менять его скважность. Какой регистр отвечает за скважность ШИМа, я не совсем понимаю работу Таймера при выводе ШИМ сигналов.
Код
BCSCTL1 = 0x00; // Обнуление управляющего регистра BCSCTL1
IFG1 &= ~XT2OFF; // XT2 = HF XTAL
int y; // Включение XT2
do
{
IFG1 &= ~OFIFG; // Очистка флага OFIFG
for (y = 0xFF; y > 0; y--); // Задержка
}
while (IFG1 & OFIFG); // проверка
BCSCTL2 = 0x00; // Обнуление управляющего регистра BCSCTL2
DCOCTL = DCO0 | DCO1 | DCO2 | // Частота генератора -> МАКСИМУМ (8000000 Гц)
MOD0 | MOD1 | MOD2 | MOD3 | MOD4; // Модулятор тактовой частоты DCO -> МАКСИМУМ
BCSCTL1 = RSEL0 | RSEL1 | RSEL2; // Сопротивление внутреннего резистора -> МАКСИМУМ
BCSCTL2 = SELM_2 | // Источник тактирования MCLK -> XT2CLK
DIVM_0 | // Делитель MCLK -> 1
SELS | // Источник тактирования SMCLK -> XT2CLK
DIVS_0; // Делитель SMCLK -> 1
LPM4; // Генераторы DCO и LFXT1 отключены
// Инициализация таймера А
TACTL = TASSEL_2 | // Источник тактирования таймера -> сигнал SMCLK (8МГц)
ID_0 | // Предделитель таймера -> 1
MC_1; // Режим работы таймера -> счёт вверх до значения TACCR0
TACCR0 = 40000; // Счёт до значения -> 40000
TACCTL0 = CCIE; // Разрешение прерывания по захвату/сравнению, разрешение запроса прерывания от флага CCIFG
}