void tim2_init(u16 arr,u16 psc)
{
RCC->APB1ENR|=1<<1; //设置TIM3时钟
RCC->APB2ENR|=1<<2; //PA时钟开启
GPIOA->CRL|=4<<24; //设置PA.6为浮空输入模式
TIM3->SMCR&=0XFF80;
TIM3->SMCR|=0X0057; //设置TS[2:0]为101B,即:选择用于同步计数器的触发输入为滤波后的定时器输入1(TI1FP1).
//SMS[2:0]为111B,即:从模式选择,为外部时钟模式1,选择触发输入TRGI的上升沿驱动计数器
TIM3->CCMR1&=0XFFFC;
TIM3->CCMR1|=1; //CC1S[1:0]=10,设置CC1通道配置为输入,IC1映射在TI1上 ,无滤波器
TIM3->CCER&=0XFFFD; //设置CC1P=0,即不反相,上升沿有效
TIM3->ARR=arr; //设置自动装载寄存器值
TIM3->RCR=0; //重复寄存器值为0
TIM3-> SC=psc;
TIM3->CR1&=0xFFEF; //设置计数器方向为向上计数,即DIR=0
TIM3->CR1|=1; //启动计数器,CEN=1
}
|