论坛元老
 
- 积分
- 10887
- 金钱
- 10887
- 注册时间
- 2014-6-12
- 在线时间
- 1039 小时
|
发表于 2016-4-17 07:32:47
|
显示全部楼层
我用定时器4也成功。
//编码器初始化函数
void encoder_Init(void)
{
RCC->AHB1ENR|=1<<0; //p135 使能PORTA时钟
RCC->AHB1ENR|=1<<1; //p135 使能PORTB时钟
//RCC->APB2ENR|=1<<0; //p146 AFIOEN辅助功能IO时钟使能
//RCC->APB2ENR|=1<<4; //p70 使能PORTC 时钟
RCC->APB1ENR|=1<<1; //p139 定时器3时钟使能
RCC->APB1ENR|=1<<2; //p138 定时器4时钟使能
GPIO_Set(GPIOA,PIN6|PIN7,GPIO_MODE_AF,GPIO_OTYPE_OD,GPIO_SPEED_100M,GPIO_PUPD_PU);//PA6.PA7输入
//GPIOA->CRL&=0X00FFFFff;//PA6.PA7输入
//GPIOA->CRL|=0X44000000;//浮空输入
GPIO_Set(GPIOB,PIN6|PIN7,GPIO_MODE_AF,GPIO_OTYPE_OD,GPIO_SPEED_100M,GPIO_PUPD_PU);//PB6.PB7输入
//GPIOB->CRL&=0X00FFFFff;//PB6.PB7输入
//GPIOB->CRL|=0X44000000;//浮空输入
GPIO_AF_Set(GPIOA,6,2); //PA6,AF2
GPIO_AF_Set(GPIOA,7,2); //PA7,AF2
//AFIO->MAPR&=0XFFFFF0Ff; //p122 定时器3的重映像 CH1/PA6,CH2/PA7
//AFIO->MAPR|=0X00000000;
GPIO_AF_Set(GPIOB,6,2); //PB6,AF2
GPIO_AF_Set(GPIOB,7,2); //PB7,AF2
//AFIO->MAPR&=0XFFFF0fFf; //p122 定时器4的重映像 CH1/PA6,CH2/PA7
//AFIO->MAPR|=0X00000000;
//TIM3->ARR&=0XFFFFFfF0; //自动重装载寄存器
//TIM3->ARR|=0X7fff; //P293 自动重装载寄存器
//TIM4->ARR|=0X7fff; //P293 自动重装载寄存器
TIM3->CCMR1|=1<<0; //CC1S=01捕获/比较模式
TIM3->CCMR1|=1<<8; //CC2S=01
TIM4->CCMR1|=1<<0; //CC1S=01捕获/比较模式
TIM4->CCMR1|=1<<8; //CC2S=01
TIM3->CCER|=0<<1; //CC1P=0 捕获/比较使能
TIM3->CCER|=0<<5; //CC2P=0
//TIM3->CCER&=0XFFFFFfF0; //CC1P和CC2P位
//TIM3->CCER|=0X00000001; //P292 捕获使能
TIM4->CCER|=0<<1; //CC1P=0 捕获/比较使能
TIM4->CCER|=0<<5; //CC2P=0
TIM3->SMCR|=3<<0; //SMS=011
//TIM3->SMCR|=6<<4; //TS=110
TIM4->SMCR|=3<<0; //
//RCC->APB1ENR|=1<<1; //p71 1-TIM3时钟使能 3-TIM5时钟使能
TIM3->CR1|=1<<0;; //CEN使能
//TIM5->CR1|=0x01; //p282 使能定时器3
TIM4->CR1|=1<<0;; //CEN使能
}
|
|