Доброго дня.
Прошу помощи в запуске ШИМ.
Код:
|
void PWM_Timer_3_init(void)
{
RCC-›APB2ENR |= RCC_APB2ENR_IOPCEN; // Enable GPIOC clocking
RCC-›APB1ENR |= RCC_APB1ENR_TIM3EN; // Enable TIM3 clocking
RCC-›APB2ENR |= RCC_APB2ENR_AFIOEN; // Enable AFIO clocking
GPIOC-›CRL |= (GPIO_CRL_MODE6 |
GPIO_CRL_MODE7 |
GPIO_CRL_CNF6_1 |
GPIO_CRL_CNF7_1); // PC6, PC7 - Output mode 50 MHz
GPIOC-›CRL &= (~(GPIO_CRL_CNF6_0 |
GPIO_CRL_CNF7_0)); // and alternate push-pull
/*
GPIOC-›CRH |= (GPIO_CRH_MODE8 |
GPIO_CRH_MODE9 |
GPIO_CRH_CNF8_1 |
GPIO_CRH_CNF9_1); // PC8, PC9 - Output mode 50 MHz
GPIOC-›CRH &= (~(GPIO_CRH_CNF8_0 |
GPIO_CRH_CNF9_0)); // and alternate push-pull
*/
GPIOC-›ODR = 0x0000;
//---------------------------------------
AFIO-›MAPR |= AFIO_MAPR_TIM3_REMAP_FULLREMAP;
//////////////////////////////// PWM Timer 3
TIM3-›CR1 = TIM_CR1_ARPE;
TIM3-›PSC = 4;
TIM3-›ARR = 0x00FF;
TIM3-›CCR1 = 100;
TIM3-›CCR2 = 100;
TIM3-›CCR3 = 100;
TIM3-›CCR4 = 100;
TIM3-›CCMR1 = (TIM_CCMR1_OC1PE | TIM_CCMR1_OC1M |
TIM_CCMR1_OC2PE | TIM_CCMR1_OC2M);
TIM3-›CCER = (TIM_CCER_CC1E | /*TIM_CCER_CC1P |*/
TIM_CCER_CC1NE | /*TIM_CCER_CC1NP |*/
TIM_CCER_CC2E | /*TIM_CCER_CC2P |*/
TIM_CCER_CC2NE| /*| TIM_CCER_CC2NP*/
TIM_CCER_CC3E | /*TIM_CCER_CC2P |*/
TIM_CCER_CC4E /*TIM_CCER_CC2P |*/
);
TIM3-›BDTR = (TIM_BDTR_MOE | ((4‹‹5) | 10));
TIM3-›CR1 |= TIM_CR1_CEN;
} |
Такая ситуация ... В таком виде код работает на два канала (PC6-PC7)....
Раскоментирую инициализацию PC8-PC9... На этих портах появляються помехи но не как не полноценный ШИМ. И вместо полноценного ШИМА PC 6 тоже помехи но амплитуда побольше... PC7 работает адекватно....