Что-то у меня не заладилось с таймером.Теперь такая проблема: настраиваю канал1 таймера 1 на выход с переключателем(toggle). Вроде все по даташиту
CODE
TIM1->PSC = 7200-1; // установка делителя счетчика
TIM1->ARR = 0xFFF; //установка макс. значения регистра счетчика
TIM1->CR1 |= TIM_CR1_CEN | TIM_CR1_ARPE; // включаем счетчик, разрешаем авто-перезагрузку
TIM1->CCR1 = 0xFFE; //записываем значение в регистр сравнения
TIM1->CCMR1|=(TIM_CCMR1_OC1M_0|TIM_CCMR1_OC1M_1); // устанавливаем выход таймера в режим переключателя
TIM1->CCER|= TIM_CCER_CC1E;
, но на выходе ничего не происходит.
Сигнал начинает идти только когда ставлю бит TIM_CCER_CC1E в ноль, а TIM_CCER_CC1P в единицу.
по даташиту
CODE
Bit 1 CC1P: Capture/Compare 1 output polarity
CC1 channel configured as output:
0: OC1 active high
1: OC1 active low
CC1 channel configured as input:
This bit selects whether IC1 or IC1 is used for trigger or capture operations.
0: non-inverted: capture is done on a rising edge of IC1. When used as external trigger, IC1
is non-inverted.
1: inverted: capture is done on a falling edge of IC1. When used as external trigger, IC1 is
inverted.
Note:This bit is not writable as soon as LOCK level 2 or 3 has been programmed (LOCK bits
in TIMx_BDTR register).
Bit 0 CC1E: Capture/Compare 1 output enable
CC1 channel configured as output:
0: Off - OC1 is not active. OC1 level is then function of MOE, OSSI, OSSR, OIS1, OIS1N
and CC1NE bits.
1: On - OC1 signal is output on the corresponding output pin depending on MOE, OSSI,
OSSR, OIS1, OIS1N and CC1NE bits.
CC1 channel configured as input:
This bit determines if a capture of the counter value can actually be done into the input
capture/compare register 1 (TIMx_CCR1) or not.
0: Capture disabled.
1: Capture enabled
т.е по идее я выключаю выходной сигнал а он наоборот появляется, причем таймер 5 с настройками выше работает как надо. Кто работал с этими таймерами подскажите в чем ошибка.
Сообщение отредактировал GMVM - May 15 2011, 19:08