搜索
bottom↓
回复: 2

C2000 中DMC 库函数疑问

[复制链接]

出0入0汤圆

发表于 2014-12-6 09:32:38 | 显示全部楼层 |阅读模式
DMCLIB 中的cfloat 和cIQmath 这两个库函数有什么区别  有没有这方面的文档介绍?
比如cfloat 中的rmp_cntl_calc:
void rmp_cntl_calc(MPCNTL *v)
{       

      if (v->TargetValue != v->SetpointValue)
      {
         v->RampDelayCount += 1.0;
         if (v->RampDelayCount >= v->RampDelayMax)
         {
           if (v->TargetValue >= v->SetpointValue)
           {
            v->SetpointValue += 0.0000305;           // 0.0000305 is resolution of Q15
            if (v->SetpointValue > v->RampHighLimit)
              v->SetpointValue = v->RampHighLimit;           
            v->RampDelayCount = 0;
           }
           else
           {
            v->SetpointValue -= 0.0000305;           // 0.0000305 is resolution of Q15
            if (v->SetpointValue < v->RampLowLimit)
              v->SetpointValue = v->RampLowLimit;           
            v->RampDelayCount = 0;
           }
         }
         
      }
      else  v->EqualFlag = 1;

比如cIQmath  中的rmp_cntl_calc:
void rmp_cntl_calc(RMPCNTL *v)
{       
     _iq tmp;
      
     tmp = v->TargetValue - v->SetpointValue;
     
      if (_IQabs(tmp) > _IQ(0.0000305))
      {
         v->RampDelayCount += 1;
         if (v->RampDelayCount >= v->RampDelayMax)
         {
           if (v->TargetValue >= v->SetpointValue)
           {
            v->SetpointValue += _IQ(0.0000305);        // 0.0000305 is resolution of Q15
            if (v->SetpointValue > v->RampHighLimit)
              v->SetpointValue = v->RampHighLimit;           
            v->RampDelayCount = 0;
           }
           else
           {
            v->SetpointValue -= _IQ(0.0000305);        // 0.0000305 is resolution of Q15
            if (v->SetpointValue < v->RampLowLimit)
              v->SetpointValue = v->RampLowLimit;           
            v->RampDelayCount = 0;
           }
         }        
      }
      else  v->EqualFlag = 0x7FFFFFFF;
}
这两个还是有点区别的?

忘哪位大神给我解答一下cfloat 和cIQmath 这两个库函数有什么区别?具体的
如果有这方面的相关文档介绍更好.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2014-12-6 11:36:03 | 显示全部楼层
前者使用浮点运算,后者使用定点运算,自带的文档应该有介绍的

出0入0汤圆

 楼主| 发表于 2014-12-6 16:00:59 | 显示全部楼层
Ca_guo 发表于 2014-12-6 11:36
前者使用浮点运算,后者使用定点运算,自带的文档应该有介绍的

谢谢了,看明白了
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-6-2 08:26

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表