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:在CC3200系统上,带有浮点的东西被完全破坏。

Guru**** 2555630 points
Other Parts Discussed in Thread: CC3200

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/587777/ccs-something-with-floating-point-is-oviously-completely-broken-on-the-system-of-cc3200

主题中讨论的其他部件:CC3200

工具/软件:Code Composer Studio

 某些东西似乎被严重破坏了,因为即使作为number参数传递到create_number 也失败了。

也许浮点数根本不起作用?

在最后一次测试中,请尝试以下两种方法:

第一:

#include <stdio.h>
#include <stdlib.h>

static void print_number(double number){

	UART_print("number =%f\n", number)}


int main(void){

	print_number(200);print_number( 200.0
	;

	return exit_success;
} 

第二:

#include <stdio.h>
#include <stdlib.h>

int main(void){

	双精度数=200;
	UART_PRINT ("number =%f\n",number);
	UART_PRINT ("200 =%f\n",(双精度) 200);
	UART_PRINT (“200.0 =%f\n",200.0);

	返回EXIT_SUCCESS;
} 

终端的输出:

答:这是控制台的第一个结果
Number = 0.0万
Number = 0.0万
B.这是控制台的第二个结果
Number = 0.0万
200 = 0.0万
200.0 = 0.0万

我不知道为什么不能通过终端上的“UART_PRINT”打印浮点数?
我不知道如何纠正这个问题,有些建议会有所帮助。
谢谢。

祝您一切顺利


  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    通常不包括浮点打印支持以节省空间。 您可能需要编写自己的ftoa例程。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的用户475.6937万:

    我刚刚测试了您编写的代码,它工作正常。 我将print_number()函数和print_number(CCS)调用放入SPI_DEMO示例项目中,我碰巧在200.0 中打开了该项目,它打印出来了:
    Number = 200.0万
    虽然CC3200上不支持硬件浮点,但支持软件浮点库。 在编译选项中检查--float_support=vfplib标志。 UART_PRINT调用的打印函数也应具有内置的ftoa支持,因为UART_PRINT调用在我的端使用浮点参数
    尝试将代码放在SDK中的其中一个UART示例项目中,并查看该示例项目与CCS项目之间的差异。

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

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

    感谢您的回复。

    我只在我的项目中看到 ,生成标志 就在下面:

    --float_support=fpalib

    您提供的标志是

    --float_support=vfplib。

    这些旗帜之间是否有某种不同?

     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我换了你的旗帜,效果也很好。谢谢