高级会员
- 积分
- 622
- 威望
- 318
- 贡献
- 200
- 兑换币
- 211
- 注册时间
- 2014-11-4
- 在线时间
- 52 小时
- 毕业学校
- 湖北工程学院
|
void FTM_QUAD_init(void)
{
/*开启端口时钟*
SIM_SCGC5 |= SIM_SCGC5_PORTA_MASK;
/*选择管脚复用功能*
PORTA_PCR8 = PORT_PCR_MUX(6); // 设置引脚A8 引脚为FTM2_PHA功能
PORTA_PCR9 = PORT_PCR_MUX(6); // 设置引脚A9引脚为FTM2_PHA功能
PORTA_PCR10= PORT_PCR_MUX(6); // 设置引脚A10引脚为FTM2_PHA功能
PORTA_PCR11= PORT_PCR_MUX(6); // 设置引脚A11引脚为FTM2_PHB功能
/*使能FTM1、FTM2时钟*
SIM_SCGC6|=SIM_SCGC6_FTM1_MASK;//使能FTM1时钟
SIM_SCGC3|=SIM_SCGC3_FTM2_MASK;//使能FTM2时钟
FTM1_MODE |= FTM_MODE_WPDIS_MASK; //禁止写保护
FTM2_MODE |= FTM_MODE_WPDIS_MASK;//禁止写保护
FTM1_CNTIN=0;//FTM1计数器初始值为0
FTM2_CNTIN=0;//FTM2计数器初始值为0
FTM1_MOD=65535;//结束值
FTM2_MOD=65535;//结束值 ,自己设定
FTM1_MODE |= FTM_MODE_FTMEN_MASK; //FTMEN=1,关闭TPM兼容模式,开启FTM所有功能
FTM2_MODE |= FTM_MODE_FTMEN_MASK;//FTMEN=1,关闭TPM兼容模式,开启FTM所有功能
FTM1_QDCTRL &= ~FTM_QDCTRL_QUADMODE_MASK; //选定编码模式为A相与B相编码模式
FTM1_QDCTRL |= FTM_QDCTRL_QUADEN_MASK; //使能正交解码模式
FTM2_QDCTRL &= ~FTM_QDCTRL_QUADMODE_MASK; //选定编码模式为A相与B相编码模式
FTM2_QDCTRL |= FTM_QDCTRL_QUADEN_MASK; //使能正交解码模式
FTM1_CNT=0;
FTM2_CNT=0;
FTM1_SC |= FTM_SC_CLKS(3); //选择外部时钟
// FTM1_CONF |=FTM_CONF_BDMMODE(3); //可根据需要选择
FTM2_SC |= FTM_SC_CLKS(3);
// FTM2_CONF |=FTM_CONF_BDMMODE(3);
//输入滤波可选
//写入该寄存器的值将立刻起作用
//而且通道0、1、2、3必须在输入模式下,如设置不当可能造成错过正确的信号。
/*
FTM1_QDCTRL_PHAFLTREN=1;
FTM1_QDCTRL_PHBFLTREN=1;
FTM2_QDCTRL_PHAFLTREN=1;
FTM2_QDCTRL_PHBFLTREN=1;
} |
|