ang_gen.c

来自「2802 步进电机控制器」· C语言 代码 · 共 40 行

C
40
字号
/*=====================================================================================
 File name:        ANG_GEN.C  (IQ version)                  
                    
 Originator:		ECS Development

 Description:  The Angle Generation                   

=====================================================================================
 History:
-------------------------------------------------------------------------------------
 04-15-2005	Version 3.20
-------------------------------------------------------------------------------------*/

#include "IQmathLib.h"
#include "ang_gen.h"

void anggen_calc(ANGGEN *v)
{	

// Compute the angle rate
        v->AngleVar += _IQmpy(v->StepAngleMax,v->Freq);       

// Saturate the angle rate within (-1,1)        
        if (v->AngleVar>_IQ(1.0))
          v->AngleVar -= _IQ(1.0);
        else if (v->AngleVar<_IQ(-1.0))
          v->AngleVar += _IQ(1.0);

// Compute the ramp output
       v->AngleOut = v->AngleVar + _IQ(1.0);

// Saturate the ramp output within (-1,1)     
       if (v->AngleOut>_IQ(1.0))
          v->AngleOut -= _IQ(1.0);
        else if (v->AngleOut<_IQ(-1.0))
          v->AngleOut += _IQ(1.0);

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?