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.

[参考译文] MSP430FR6043:在哪里可以找到 USS_getResultsInFloat()

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1336116/msp430fr6043-where-do-i-find-uss_getresultsinfloat

器件型号:MSP430FR6043

大家好、

我将演示代码"FR6043_USSSWLib_TEMPLATE_example"用于气体计量设置。

由于我想通过 i2c 传输测量结果,我想知道如何将结果从 fixedResults 解码为 Float 值。

我想答案在"ussWsLibAlgorithm.c"中使用的"USS_getResultsInFloat ()"中、但我找不到该函数的代码、因为它定义为 extern、所以我搜索了库提供的所有文件。

如果您能为我提供函数的代码、我将不胜感激。

谢谢、此致

卢卡斯

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

    尊敬的 Lukas:

    我认为您要查找的函数已在我们的预编译 USS 库中定义、因此您将无法在 SDK 中找到它的定义。 我已尝试在我们的 SDK 中搜索、但没有为您找到定义。  

    但是、查看 USSSWLib 模板示例代码、似乎它已经使用 USS 算法的浮点版本、将值分配给 USS_USS 算法结果结构的浮点版本 Algorithms_Results algResults。 我希望当您运行模板示例代码时、结果将已经是浮点格式、前提是您没有进行更改。 您可以确认您的模板示例使用上述结果结构和该算法来生成结果: USS_runAlgorithms()吗?

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

    你是对的,Inital 模板代码确实给了我一个浮点的结果,但是我想实际使用 USS_runAlgorithms()内的 fixedResults,因为我可以通过 i2c 将这些结果更简单地传输到我的外部电路。 但我需要重新计算整个系统中芯片外的浮子、我想知道您如何从 fixedResults 返回浮子、以便我可以自己执行该操作。 您可能会向我提供所涉及的数学知识吗? 或者、告诉我测量的 ToF 如何被分隔为4个字节的数据?

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

    我明白了。 感谢您在此确认并介绍了此用例。

    我认为这里有两个选项。 我不知道整个系统中使用的是哪些器件、但您应立即了解的选项是安装 MSP-IQMATHLIB、它定义了用于将 IQMath 值转换为浮点值的函数。 您可以在 IQMath 用户指南的第4.2节中阅读有关这些函数的更多信息。 下载中将具有一个预编译的库、您可以在代码项目中链接该库。

    您的另一个选项需要更多一点编码、但您可能会发现它更简单。 您可以查看上面链接的 IQMath 用户指南的第2.2节、了解 IQMath 数字的格式设置、其中提供了示例、我认为这是一个相对简单的转换。 另外看起来上述链接仅适用于 MSP430微控制器、因此假设您要转换为不同的器件、这可能正是合适的方法。

    我假定  USS_getResultsInFloat()函数仅使用 IQMath 库转换从 IQ16转到 USS 代码中浮点。

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

    非常感谢您的支持!