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:将 ADC 值(Uint 16)转换为浮点类型

Guru**** 2609895 points
Other Parts Discussed in Thread: TMS320F28335

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/835171/ccs-tms320f28335-type-casting-adc-value-uint-16-to-float

器件型号:TMS320F28335

工具/软件:Code Composer Studio

您好!  

我正在尝试将从 F28335 12位 ADC 读取的值转换为浮点数据类型。 我使用以下语句:

for (i=0;i < 10;i++)
{
OutBuff[i]=(((((浮点)*ADC_Buffer )/ 4096 )* 3.0 )-1.5;//将 ADC 数据转换为电压并删除 DC 偏移
ADC_Buffer++;
} 

实际上、ADC 值位于数组中、我正在使用指针来访问该数组、因此"* ADC_Buffer"。 我将这些值除以2^12并乘以3.0V 以转换为电压。 然后、我移除了我在外部为信号提供的1.5V 直流偏移。

下面列出了五个值作为示例:

ADC (十进制) (预期输出) 代码输出
1522. -0.385253906. 46.125.
1812. -0.172851563 -1.5
2177. 0.094482422 -1.5
2488 0.322265625 34.5.
2472 0.310546875 46.3125.

我键入的值是否正确、或者是否有错误?

此致、

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

    '我是正确键入转换值还是有误?

    键入转换看起来有效。

    我将代码粘贴到随附的使用 TI C2000编译器 v19.6.0.STS 编译的 TMS320F28335项目中、并在调试器中显示预期转换的浮点值:

    您如何检查代码输出?

    e2e.ti.com/.../TMS320F28335_5F00_float_5F00_conversion.zip

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

    抱歉、我的错误...

    我不小心将错误的地址分配给了 ADC_Buffer 指针、因此程序正在从其他存储器位置获取数据。

    我现在得到的结果是正确的。

    谢谢