ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
26 ноября
429354
Constantin24 (01.08.2013 10:24, просмотров: 5249) koyodza
Никак не могу понять почему TIM3 не работает на шим. вроде все делаю по аналогии с TIM2. Может кто найдет в коде настройки ошибку... // Тактирование канала С RCC->APB2ENR |= RCC_APB2ENR_IOPCEN; RCC->APB1ENR |= RCC_APB1ENR_TIM3EN; //Настройка вывода 6 //Очистка регистра в соответсвующих битах GPIOC->CRL &= ~(GPIO_CRL_MODE6 | GPIO_CRL_CNF6); //Настройка вывода 6 на выход,2МГц(не влияет),push-pull GPIOC->CRL |= (GPIO_CRL_MODE6_1 | GPIO_CRL_CNF6_1); //Настройка вывода 7 //Очистка регистра в соответсвующих битах //GPIOC->CRL &= ~(GPIO_CRL_MODE7 | GPIO_CRL_CNF7); //Настройка вывода 7 на выход,2МГц(не влияет),push-pull //GPIOC->CRL |= (GPIO_CRL_MODE7_1 | GPIO_CRL_CNF7_1); //Разрешить таймеру использовать вывод для ШИМ TIM3_CH1 и TIM3_CH2 TIM3->CCER |= TIM_CCER_CC1E ; //TIM3->CCER |= TIM_CCER_CC2E; //настройка ШИМ //ПРОВЕРИТЬ!!! TIM3->CCMR1 &= ~(TIM_CCMR1_OC1M); //TIM3->CCMR1 &= ~(TIM_CCMR1_OC2M); //очистка битов OC2M и OC1M TIM3->CCMR1|=(TIM_CCMR1_OC1M_0 | TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1M_2); //прямой ШИМ //TIM3->CCMR1|=(TIM_CCMR1_OC2M_1 | TIM_CCMR1_OC2M_2); //прямой ШИМ //настраиваем предделитель таймера TIM3->PSC = 72-1; //Внутреняя частота 72МГц //потолок таймера TIM3->ARR = 1000;// //В результате задан ШИМ с периодом 1 мс //включить отсчсет времени //Задаем определенное число для ШИМ TIM3->CCR1=160; // заполнение ШИМ=160мкс - минимум, начальная установка //TIM3->CCR2=660; // заполнение ШИМ=160мкс - минимум, начальная установка TIM3->CR1 |= TIM_CR1_ARPE; TIM3->CR1 |= TIM_CR1_CEN;