void Timer3_Init()
{
RCC->APB2ENR|=1<<2; //使能PORTA时钟
RCC->APB2ENR|=1<<3; //使能PORTB时钟
//RCC->APB2ENR|=1<<5; //使能PORTD时钟
GPIOA->CRL&=0x00ffffff;
GPIOA->CRL|=0xBB000000;
GPIOA->ODR|=3<<6;
GPIOB->CRL|=0xffffff00;
GPIOB->CRL|=0x000000BB;
GPIOB->ODR|=3;
RCC->APB1ENR|=1<<1;//TIM3时钟使能
TIM3->CR1|=1<<5;//向下计数
TIM3->CCMR1=0x6464;//通道1、2PWM模式1,预装载使能
TIM3->CCMR2=0x6464;//通道3、4PWM模式1,预装载使能
TIM3->CCR1=200;
TIM3->CCR2=400;
TIM3->CCR3=200;
TIM3->CCR4=400;
TIM3->ARR=1000; //设定计数器自动重装值
TIM3->  SC=72; //预分频器72,得到1Mhz的计数时钟
TIM3->CCER=0X1111;//打开四个通道,允许输出,有效电平为高
TIM3->EGR|=1;//更新事件
TIM3->CR1|=0x01; //使能定时器3
} |