智能车制作
标题:
K60单片机与正交解码测速
[打印本页]
作者:
xiongcaifei
时间:
2013-3-26 15:38
标题:
K60单片机与正交解码测速
K60单片机的中断优先级是什么样的呢??是不是依据vector的那个后面的数字排列的呢??084优先级比085高的呢??还有就是我的K60单片机正交解码怎么出现问题呢??
*正交解码计数初始化*/
void FTM_QUAD_Iint()
{ // FTM_SC_REG(FTMx[ftmn]) = FTM_SC_CLKS(0x1);
// FTM_SC_REG(FTMx[FTM2]) = FTM_SC_CLKS(0x1);
SIM_SCGC5 |= SIM_SCGC5_PORTA_MASK;//开启端口时钟.
PORTA_PCR10= PORT_PCR_MUX(6); // 设置引脚A10引脚为FTM2_PHA功能
PORTA_PCR11= PORT_PCR_MUX(6); // 设置引脚A11引脚为FTM2_PHB功能
SIM_SCGC3|=SIM_SCGC3_FTM2_MASK;//使能FTM2时钟
FTM2_MODE |= FTM_MODE_WPDIS_MASK;//写保护禁止
FTM2_QDCTRL &= ~FTM_QDCTRL_QUADMODE_MASK;//AB计数值
FTM2_CNTIN=10000;//FTM0计数器初始值为0
FTM2_MOD=50000;//结束值
FTM2_QDCTRL|=FTM_QDCTRL_QUADEN_MASK;//启用FTM2正交解码模式
FTM2_MODE |= FTM_MODE_FTMEN_MASK;//FTM2EN=1
FTM2_CNT=0;
}
short int pulse;
void PIT0_IRQHandler(void)
{ uint32 c;
pulse=FTM2_CNT;
FTM2_CNT=0;
printf("速度为:");
printf("%d\n",pulse);
c=PIT_CVAL0;
PIT_Flag_Clear(PIT0); //清中断标志位
}
,测出来的数据都是差不多一样大(不管电机速度多快多慢)。电机不转的时候正常(10000)。
作者:
shenyilei666
时间:
2013-4-5 10:44
我们也遇到同样的问题了 不知你解决了吗?
作者:
hpbfsj
时间:
2013-4-28 12:35
楼主 不知 那个FTM正交解码是在怎么测速的 能说说嘛?这是他的固有程序吗??
作者:
忍冬草
时间:
2013-5-27 19:50
楼主 084 比085优先级高吗
作者:
heyunfu01
时间:
2015-7-26 16:59
你可以单独设定优先级啊
欢迎光临 智能车制作 (http://111.231.132.190/)
Powered by Discuz! X3.2