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.

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

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

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

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

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