ramp.c
来自「2802 步进电机控制器」· C语言 代码 · 共 50 行
C
50 行
/*=====================================================================================
File name: RAMP.C (IQ version)
Originator: ECS Development
Description: The Ramp Control
=====================================================================================
History:
-------------------------------------------------------------------------------------
04-15-2005 Version 3.20
-------------------------------------------------------------------------------------*/
#include "IQmathLib.h"
#include "ramp.h"
void ramp_calc(RAMP *v)
{
_iq tmp;
tmp = v->TargetIn - v->TargetOut;
if (_IQabs(tmp) > _IQ(0.0000305))
{
v->EqualFlag = 0x0000;
v->DelayCounter += 1;
if (v->DelayCounter >= v->DelayRate)
{
if (v->TargetIn >= v->TargetOut)
{
v->TargetOut += _IQ(0.0000305); // 0.0000305 is resolution of Q15
if (v->TargetOut > v->MaxLimit)
v->TargetOut = v->MaxLimit;
v->DelayCounter = 0;
}
else
{
v->TargetOut -= _IQ(0.0000305); // 0.0000305 is resolution of Q15
if (v->TargetOut < v->MinLimit)
v->TargetOut = v->MinLimit;
v->DelayCounter = 0;
}
}
}
else v->EqualFlag = 0xFFFF;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?