zoh.c

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

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

 Description:  Zero-Order-Hold                

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

#include "IQmathLib.h"
#include "zoh.h"


void zoh_calc(ZOH *v)
{
   
    v->maxTimerEach = v->maxTimer/v->NoStepMax;
    v->timer += _IQ16(1.0);
    v->ttimer += _IQ16(1.0);

   if (v->timer >= v->maxTimerEach) {
        v->Discret_signal = v->SignalIn;
        v->timer = 0;
		v->NoSteps++;
        if (v->NoSteps == v->NoStepMax-1)
           v->NoSteps = 0;
   }

    if (v->ttimer >= v->maxTimer) {
           v->Discret_signal = v->SignalIn;
           v->timer =0;
		   v->ttimer=0;
    }
    
   v->SignalOut = v->Discret_signal;
}

⌨️ 快捷键说明

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