ZJSXHWL000000 发表于 2014-7-3 13:01:17

MC9S12HA64汽车仪表程序解读(已解决)

本帖最后由 FSL_TICS_Robin 于 2014-8-8 14:25 编辑

有一段程是仪表步进电机控制,请解读一下
void T_SPEED_OnInterrupt(void)
{
/* Write your code here ... */


       //模拟量快速转动,间隔时间TC2
      TC2 -= (word)32000;//中断时加了32000要减去
      
      if(MotorSpeedIndex<MaxSpeedIndex)//如果小于最高速度
      {
          if(MotorMoveStatus==RAMPUP)   //加速、匀速、空闲
          {
            TC2 += (StepProfile++])>>1;            
          }
                         
          }
          else
          {
          MotorMoveStatus=CONST;//均匀速度
                TC2 += (StepProfile])>>1;//一倍的频率
             
          }
          
          
        // 以下表没有加减速的处理   
          if(MotorMode == SEARCH)
          {
                 motor_micro_update(POWER);
          }
          if(MotorMode == SEARCH)
          {
                    motor_micro_update(TEMP);
          }   
          if(MotorMode == SEARCH)
          {
                    motor_micro_update(FUEL);
          }
             
          if(MotorMode == SEARCH_ZERO)
          {
                motor_micro_update(SPEEDOMETER);
          }
          //motor_update(SPEEDOMETER);
}

rockyyangyang 发表于 2014-7-3 14:13:21

在什么公司上班?怎么进去的?               

canback 发表于 2014-7-3 15:29:53

搞汽车的好像多起来了。
汽车这行业,挺杂的,不知道前景怎么样?

kumosheng 发表于 2014-7-22 22:47:07

就是 用一个定时器来控制电机的运行速度,有很多方法的,这样电机能够运行更加平滑一些,但是抖动也会增加!

FSL_TICS_Robin 发表于 2014-7-30 09:41:05

如果楼主对步进电机控制感兴趣,建议看一下飞思卡尔官网 电机控制 步进电机的文档页面资料。
页: [1]
查看完整版本: MC9S12HA64汽车仪表程序解读(已解决)