Страница 1 из 1

Таймер Т12 МК 1887ВЕ6Т

Добавлено: 10 фев 2018, 15:25
lexo_78
При работе с таймером Т12 микроконтроллера 1887ВЕ6Т (на макетно-отладочной плате) флаг CCy_IR в регистре CCU6_T12IC не устанавливается. При этом флаг T12PM установлен. Настройки таймера выполнены в соответствии КФДЛ.431295.046ТО. При симуляции в среде Keil флаг CCy_IR устанавливается. Ниже приводятся текст настройки Т12 и проверки на условие формирования флага CCy_IR.
//настройка таймера T12
CCU6_TCTR0 = 0x00; //регистр деления входной частоты (без деления)
CCU6_TCTR2 = 0x00;
CCU6_TCTR4 = 0x00;
//загрузка теневого регистра сравнения
CCU6_T12PR = 65000; //значение сравнения таймера загружаемое в в теневой регистр
CCU6_TCTR4 = CCU6_TCTR4 | (1<<6); //разрешение загрузки теневого регистра
CCU6_INP = CCU6_INP | (0x02<<10); //установка канала прерывания I2
CCU6_IEN = CCU6_IEN | (1<<7);
CCU6_TCTR4 = CCU6_TCTR4 | (1<<1); //установка бита запуска таймера Т12
__asm {nop}
//проверка
while(1) //
{
if ( (CCU6_IC & (1<<7)) == (1<<7) )
{
__asm {nop}
P3=0x02; //!!!! ДЕЙСТВИЕ НЕ ВЫПОЛНЯЕТСЯ !!!
CCU6_IC = CCU6_IC & ~(1<<7); //сброс флага прерывания
}
}
Прошу Вас указать несоответствие настройки таймера Т12 выбранному режиму. Спасибо.

Re: Таймер Т12 МК 1887ВЕ6Т

Добавлено: 16 фев 2018, 11:56
tvs
Вы проверяете регистр CCU6_IC, тогда как, если заменить его на CCU6_IS, то программа выполняется.