//定时器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,求教各位大神?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
系统时钟是72MHz,APB1是36MHz,TIM2~7是36MHz*2=72MHz, TIM5分频是6,那TIM5频率是72MHz/6=12MHz。可程序里说是1MHz,求教各位大神?
一周热门 更多>