void Init_Tcompare(u32 arr,u32 psc)
{
RCC->APB2ENR|=1<<0; //复用时钟使能
RCC->APB2ENR|=1<<2; //A口时钟使能
GPIOA->CRL&=0x00ffffff; //PA6输入浮空
GPIOA->CRL|=0x34000000; //PA6输入浮空
GPIOA->ODR|=1<<7; //
RCC->APB1ENR|=1<<1; //TIM3时钟使能
TIM3->ARR=arr; //
TIM3->PSC=psc; //预分频器0
TIM3->CCMR1=3<<4; //N=8
TIM3->CCER=0X00;
TIM3->CCMR1|=0x01; //IC1映射在TI1上
TIM3->CCER=0X01; //捕获使能
TIM3->CR1|=0x01; //使能定时器3
}
以上代码完成定时器3的输入捕获模式的初始化,主程序里也就是查询标志位 然后读出捕获的计数值,可为什么一直捕获的是0? |