智能车制作

标题: 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