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

Модераторы: ea, Alis, pip, gurzzza, _sva_

Ответить
lexo_78
Сообщения: 1
Зарегистрирован: 10 фев 2018, 14:56
Предприятие: АО "АВЭКС"

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

Сообщение 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 выбранному режиму. Спасибо.
tvs
Сообщения: 9
Зарегистрирован: 27 апр 2016, 09:24

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

Сообщение tvs »

Вы проверяете регистр CCU6_IC, тогда как, если заменить его на CCU6_IS, то программа выполняется.
Ответить

Вернуться в «16-разрядные RISC микроконтроллеры»