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/TMS320F28335:需要通过 SPI 向 DAC 发送双精度值

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/818855/ccs-tms320f28335-need-to-transmit-double-values-to-dac-via-spi

器件型号:TMS320F28335

工具/软件:Code Composer Studio

您好!

我正在使用 Pmod DA4:八个12位 D/A 输出、它可能会接收高达32位的信息、如下所示:

我计划向 DAC 发送两个16位的信息。 我要发送的数据位来自:

Current Drawn = meas volt2kloat (浮点) AdcMirror.ADCRESULT0 * 3/4096);/ Current Drawn 为双精度型、而 meas volt2kloat 执行简单的数学运算以更改值

我想知道如何将双精度型转换回二进制形式、以便将其发送到 DAC。

提前感谢您!

何塞

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

    您好、Jose、

    您是否只是尝试将其转换为整数类型(实质上截断了小数部分)? 如果是、请键入将其转换为适当的整数类型、以执行该作业。

    还是您的 DAC 实际需要一个它可以解释为浮点的值? 在这种情况下,上述"原始问题"一栏中的"联合"选项是一个很好的选择。

    惠特尼

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

    [引用用户="Whitney Dewey"]

     上述"原始问题"帖子中的联合选项是一个不错的选择。

    [/报价]

    我不熟悉 C 语言编程、因此如何将双精度型转换为二进制数(还是自动完成)? 我不确定如何使用 UNION 来"分离字节"。

    我不希望您给我一个答案、但向我指出正确的方向将非常有帮助。

    谢谢!

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

    假设您是指存储在存储器中的原始 IEEE 格式值"二进制"、 然后、您可以使用 UNION 指示编译器在以某种方式(例如在进行计算时)引用数据时将其解释为浮点、或者在以其他方式(例如在通过 SPI 发送数据时)引用数据时使用无符号整数数组。 我建议您只在 Web 上搜索"c 编程联合体"等内容、您应该能够找到一些好的解释和示例。

    惠特尼

x 出现错误。请重试或与管理员联系。