This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/msp430g2231:QMathLib乘法不正确

Guru**** 2613775 points
Other Parts Discussed in Thread: MSP430G2553, MSP430G2231

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/665694/ccs-msp430g2231-incorrect-qmathlib-multiplication

部件号:MSP430G2231
主题中讨论的其他部件:MSP430G2553

工具/软件:Code Composer Studio

您好,

我一直在尝试使用Qmath格式将两个数字相乘,但我无法获得正确的答案。 加减结果正确。  我正在使用CCS v7和windows7,并且也尝试过CCS v6,它将提供相同的结果。 注:将单个常量乘以2即可。 我使用的代码如下所示:


包括"MSP4S.h"
#include <stdint.h>

/*选择全局Q值并包括Qmath头文件。 */
#define global_Q  12.
包含"QmathLib.h"

volatile float res;        //用于验证结果的浮点变量

内部主(无效)

   _q qa,qb,qc;         //使用全局类型的Q变量


   /*禁用WDT。 */
   WDTCTL = WDTPW + WDTHOLD;

   /*基本全局Q操作。 */
   QA =_Q (1.0);
   qb =_Q (2.5);
   QC = QA + qb;res=_QTOF (QC);               // 3.5 = 1.0 + 2.5     res result data correct (Qc = QA + qb;res=_QTOF (QC);// QTO =校正结果数据)
   QC = QC -_Qmpy2 (QA);res=_QTOF (QC);       // 1.5 = 3.5 - 2*(1.0) rec结果数据正确
   Qc =_Qbumpy (qb,qc);res=_QTOF (QC);         // 3.75 = 2.5 * 1.5    rec result data incorrect 1.23.4375万 (Qc =_QTOF (QC);//=报告结果数据不正确  )
   Qc =_Qdiv (qc,qb);res=_QTOF (QC);         // 1.5 = 3.75 / 2.5    rec result data incorrect 0.0771484375 (Qc = QDIV (Qc,qb);res=_QTOF (QC);//   
   QC =_Qmpy2 (qb);   res=_QTOF (QC);         //  5 = 2* 2.5        res result data correct (Qc =_Qmpy2 (qb);res=_QTOF (QC);// 5 = 2*资源
   返回0;
}


我假设Qmath工作正常,所以我设置中的某些内容一定是不正确的。  有什么建议?

此致,

艺术  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Arthur:

    我在MSP430G2553上对此进行了测试,但没有看到您观察到的结果。 MSP430G2553的硬件与MSP430G2231非常相似。

    将QMathLib添加到项目时,您选择的是MPY32版本还是MPYSoftware版本? 当我使用适用于4xx设备的MPY32版本运行时,我看到了您的结果。 而是需要使用与G2xx系列设备兼容的MPYSoftware版本。

    此致,
    Caleb Overbay
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Caleb,
    非常感谢您花时间解决我的Qmath乘法问题。 我已经处理这个问题两个月了。
    使用MPYSoftware版本解决了问题。
    再次感谢您的帮助,
    Art Sadlo