初级会员

- 积分
- 79
- 金钱
- 79
- 注册时间
- 2014-5-8
- 在线时间
- 24 小时
|

楼主 |
发表于 2017-3-5 00:20:27
|
显示全部楼层
void TIM2_Encoder_Init(u16 arr,u16 psc)
{
RCC->APB1ENR|=1<<0; //TIM2时钟使能
RCC->AHB1ENR|=1<<0;//使能PORTA时钟
GPIO_Set(GPIOA,PIN1,GPIO_MODE_AF,GPIO_OTYPE_OD,GPIO_SPEED_100M,GPIO_PUPD_PU);//复用功能,上拉输出
GPIO_AF_Set(GPIOA,1,1); //PA1,AF1
GPIO_Set(GPIOA,PIN2,GPIO_MODE_AF,GPIO_OTYPE_OD,GPIO_SPEED_100M,GPIO_PUPD_PU);//复用功能,上拉输出
GPIO_AF_Set(GPIOA,2,1);//PA2,AF1
TIM2->ARR=arr; //设定计数器自动重装值
TIM2->PSC=psc; //预分频器不分频
//TIM8->DIER|=1<<0;
TIM2->CR1&=~(3<<8);
TIM2->CR1&=~(3<<5);
TIM2->CCMR1|=1<<8; // CC3S=1;
//TIM2->CCMR1|=1<<11; //CH3 预装载使能
TIM2->CCMR2|=1<<0; // CC3S=0;
//TIM2->CCMR2|=1<<3; //CH4 预装载使能
TIM2->CCER&=0XF55F; //CC3P=0;
TIM2->CCMR1|=3<<12;
TIM2->CCMR2|=3<<4;
TIM2->SMCR|=3<<0; //SMS=011; 这里需不需要使能呢?
//TIM2->SMCR|=1<<14;
//TIM2->CR1|=0<<7; //ARPE使能
TIM2->DIER|=1<<0;
//TIM2->DIER|=1<<6;
MY_NVIC_Init(1,3,TIM2_IRQn,2);//0 2 2
TIM2->CR1|=1<<0; //使能定时器2
//TIM2->CNT=1000;
}
这样配置的一直没有数据 |
|