ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
25 ноября
365653
lightelf (01.11.2012 13:43, просмотров: 2580)
STM32F103C6, проблема с TIM1 и EXTI. Таймер 1 использую для генерации ШИМ, противофазные выходы не использую. Нога PB13 (которая может иметь альтернативную функцию TIM1_CH1N) используется как вход GPIO с прерыванием по изменению. Получаю от EXTI прерывание в момент переключения ШИМ на канале 1 таймера. Ощущение, что выход сигнала TIM1_CH1N все равно как-то пролезает на вход EXTI. Кто-нибудь с таким сталкивался? Инициализирую TIM1 так: // настраиваем таймер 1 TIM1->PSC = 5; // делим на 6 TIM1->ARR = 255; // считаем до 255 TIM1->RCR = 2; TIM1->CR1 = 4; TIM1->CR2 = TIM_CR2_OIS1N | TIM_CR2_OIS2N | TIM_CR2_OIS3N; // настроим каналы TIM1->CCR1 = led_state[0]; TIM1->CCR2 = led_state[1]; TIM1->CCR3 = led_state[2]; TIM1->CCMR1 = 0x6060; // каналы 1,2 и 3 в режиме PWM1 TIM1->CCMR2 = 0x0060; TIM1->CCER = TIM_CCER_CC1E | TIM_CCER_CC2E | TIM_CCER_CC3E; TIM1->SMCR = 0; TIM1->EGR = TIM_EGR_UG; TIM1->DIER = 0; TIM1->BDTR = TIM_BDTR_MOE;// | TIM_BDTR_AOE; // включаем таймер TIM1->CR1 |= TIM_CR1_ARPE | TIM_CR1_CEN;
Не надо делать мне как лучше, оставьте мне как хорошо