初级会员

- 积分
- 94
- 金钱
- 94
- 注册时间
- 2015-4-30
- 在线时间
- 2 小时
|
发表于 2015-5-6 18:04:10
|
显示全部楼层
回复【131楼】科科1987:
---------------------------------
void Encoder_Init(void)
{
/* TIM4 clock source enable */
RCC->APB1ENR|=1<<2; //TIM4?±??????
/* Enable GPIOA, clock */
RCC->APB2ENR|=1<<3; //????PORTB?±??
/* Configure  B.06,07 as encoder input */
GPIOB->CRL&=0XF0FFFFFF;//PB6
GPIOB->CRL|=0X08000000;//????????
GPIOB->CRL&=0X0FFFFFFF;//PB7
GPIOB->CRL|=0X80000000;//????????
/* Enable the TIM3 Update Interrupt */
//?????????÷?????±?è????????????????
TIM4->DIER|=1<<0; //???í?ü??????
TIM4->DIER|=1<<6; //???í??·?????
MY_NVIC_Init(1,3,TIM4_IRQn,2);//×é2,??????????1,????????3 //MY_NVIC_Init(1,3,TIM3_IRQn,2);//????1??×???????3??×é2
/* Timer configuration in Encoder mode */
TIM4-> SC = 0x00;//?¤·????÷
TIM4->ARR = ENCODER_TIM_PERIOD-1;//?è?¨?????÷×?????×°??
TIM4->CR1 &=~(3<<8);// ?????±??·???:??·???
TIM4->CR1 &=~(3<<5);// ????????????:±???????????
TIM4->CCMR1 |= 1<<0; //CC1S='01' IC1FP1??????TI1
TIM4->CCMR1 |= 1<<8; //CC2S='01' IC2FP2??????TI2
TIM4->CCER &= ~(1<<1); //CC1P='0' IC1FP1??·??à,IC1FP1=TI1
TIM4->CCER &= ~(1<<5); //CC2P='0' IC2FP2??·??à,IC2FP2=TI2
TIM4->CCMR1 |= 3<<4; // IC1F='0011' ????????1???¨?÷
TIM4->SMCR |= 3<<0; //SMS='011' ?ù?????????ù???????????????????§
TIM4->CNT = COUNTER_RESET;
TIM4->CR1 |= 1<<0; //CEN=1,?????¨?±?÷
} |
|