初级会员

- 积分
- 95
- 金钱
- 95
- 注册时间
- 2017-2-23
- 在线时间
- 23 小时
|

楼主 |
发表于 2017-8-3 09:01:38
|
显示全部楼层
[mw_shl_code=applescript,true]/**************************************************************************
函数功能:把TIM4初始化为编码器接口模式
入口参数:无
返回 值:无
**************************************************************************/
void Endoer_Init_TIM4(void)
{
//此部分需手动修改IO口设置
RCC->APB1ENR|=1<<2; //RCC APB1 外设时钟使能寄存器 位 2 TIM4EN:TIM4 时钟使能 参考中文手册144页
RCC->AHB1ENR|=1<<3; //RCC AHB1 外设时钟使能寄存器 位 3 GPIODEN:IO 端口 D 时钟使能 参考中文手册135页
GPIO_Set(GPIOD,PIN12|PIN13,GPIO_MODE_AF,0,GPIO_SPEED_100M,GPIO_PUPD_PU); //PA7 设置上拉
GPIO_AF_Set(GPIOD,12,2); //AF2:TIM3~5; 复用设置 参考sys.c文件
GPIO_AF_Set(GPIOD,13,2);
TIM4->ARR=4000-1; //自动重装值
TIM4->PSC=0x0; //时钟预分频数
TIM4->CCMR1|=1<<0; //输入模式,IC1FP1映射到TI1上 01:CC1 通道配置为输入,IC1 映射到 TI1 上 参考中文手册433页
TIM4->CCMR1|=1<<8; //位 9:8 CC2S[1:0]:捕获/比较 2 选择 参考中文手册433页
TIM4->CCER|=0<<1; //位 1 CC1P:捕获 /比较 1 输出极性 00:TIxFP1 未反相 参考中文手册437页
TIM4->CCER|=0<<5; //位 5 CC2P:捕获 /比较 2 输出极性 参考中文手册473页
TIM4->SMCR|=3<<0; //位 2:0 SMS:从模式选择 计数器在 TI1FP1 和 TI2FP2 的边沿计数,计数的方向取决于另外一个信号的电平。
TIM4->CR1|=1<<0; //使能计数器
}[/mw_shl_code] |
|