原来的例程在stm32f103rbt6捕获没问题,移植到stm32f103c8t6上面就捕获不到数据了,不知道是什么问题,用的是TIM3的通道2(PA7)
下面是初始化代码,请大家帮忙看下!
[mw_shl_code=c,true]Timer3_Init(0xffff,0);//外部脉冲计数 [/mw_shl_code]
[mw_shl_code=c,true]void Timer3_Init(u16 arr,u16 psc) //计数器
{
RCC->APB1ENR|=1<<1; //TIM3 时钟使能
RCC->APB2ENR|=1<<2; //使能PORTA时钟
//外部脉冲引脚(颜色传感器)
GPIOA->CRL&=0X0FFFFFFF; //PA7 清除之前设置
GPIOA->CRL|=0X80000000; //PA7 输入
GPIOA->ODR|=1<<7; //PA7 上拉
TIM3->ARR=arr; //设定计数器自动重装值
TIM3->  SC=psc; //预分频器
TIM3->CCMR1|=1<<8; //CC2S=01 选择输入端 IC1映射到TI1上
TIM3->CCMR1|=0<<12; //IC1F=0000 配置输入滤波器 不滤波
TIM3->CCER|=1<<5; //CC1P=0 上升沿计数
TIM3->SMCR|=6<<4; //触发选择:滤波后的定时器输入1(TI1FP1)
TIM3->SMCR|=7<<0; //外部时钟模式1
// TIM3->CR1|=1<<0; //启动计数器,CEN=1
}
[/mw_shl_code]
|