TI中文支持网
TI专业的中文技术问题搜集分享网站

TM4C123使用 printf("%f",UTW_Distance);输出浮点数进去硬件错误

TM4C123使用    printf("%f",UTW_Distance);输出浮点数进去硬件错误,这个怎么解决,调用的是微库,输出定点数都正常,请问这个怎么解决?

Jacky Xu:

如果你用是CCS,那么在如下属性框内选择full

xyz549040622:

回复 Jacky Xu:

CCS中即使设置了上面的选项,依然打印浮点值是错误的。MDK中干脆就没这个选项。使用的官方给的UART的例程printf函数

UARTprintf("Hello, world!\n");UARTprintf("%f\r\n",1.23);

去官方的UARTprintf函数中看了看,确实是不支持%f打印输出的,只支持以下几种格式。看来需要自己写浮点打印处理函数了,把浮点数据分开打印来实现。

//! - \%c to print a character
//! - \%d or \%i to print a decimal value
//! - \%s to print a string
//! - \%u to print an unsigned decimal value
//! - \%x to print a hexadecimal value using lower case letters
//! - \%X to print a hexadecimal value using lower case letters (not upper case
//! letters as would typically be used)
//! - \%p to print a pointer as a hexadecimal value
//! - \%\% to print out a \% character

smart king:

回复 xyz549040622:

你好也就是说在MDK下用 原版的库是不可以的了,只能自己写了TI也这么声明的。  还有一点关于浮点 调用pow()函数还是浮点运算错误  是不是TI也不支持这个函数?

xyz549040622:

回复 smart king:

关于那个浮点运算的问题,应该不涉及到串口打印的,和串口这个问题应该没关系,你最好单步调试看看,看看是哪一步出错了。

赞(0)
未经允许不得转载:TI中文支持网 » TM4C123使用 printf("%f",UTW_Distance);输出浮点数进去硬件错误
分享到: 更多 (0)