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