电容触摸实验中TIM5的频率是1MHz?

2019-10-11 15:48发布

//定时器5通道2输入捕获配置         
//arr:自动重装值
//psc:时钟预分频数
//TIM5_CH2_Cap_Init(TPAD_ARR_MAX_VAL(0xFFFF),psc-1(6-1));//以1Mhz的频率计数
void TIM5_CH2_Cap_Init(u16 arr,u16 psc)
{
        //此部分需手动修改 IO口设置  
        RCC->APB1ENR|=RCC_APB1ENR_TIM5EN;   //TIM5 时钟使能
        RCC->APB2ENR|=RCC_APB2ENR_IOPAEN;          //使能PORTA时钟

        GPIOA->CRL&=~(GPIO_CRL_CNF1 | GPIO_CRL_MODE1);        //PA1清零配置模式
        GPIOA->CRL|=0X00000040;        //浮空输入               
          
        TIM5->ARR=arr;                  //设定计数器自动重装值//刚好1ms---------------------不明白呢。  
        TIM5->PSC=psc;                  //预分频器,1M的计数频率-----------------------------不明白呢。

        TIM5->CCMR1|=1<<8;                //CC2S=01         选择输入端 IC2映射到TI2上
        TIM5->CCMR1|=0<<12;         //IC2F=0011 配置输入滤波器 8个定时器时钟周期滤波
        TIM5->CCMR1|=0<<10;         //IC2PS=00         配置输入分频,不分频

        TIM5->CCER|=0<<5;                 //CC2P=0        上升沿捕获
        TIM5->CCER|=1<<4;                 //CC2E=1         允许捕获计数器的值到捕获寄存器中
                                                                                                                                 
        TIM5->CR1|=0x01;            //使能定时器5
}

系统时钟是72MHz,APB1是36MHz,TIM2~7是36MHz*2=72MHz, TIM5分频是6,那TIM5频率是72MHz/6=12MHz。可程序里说是1MHz,求教各位大神?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。