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.
工具/软件: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 编程联合体"等内容、您应该能够找到一些好的解释和示例。
惠特尼