sprintf输入浮点数问题

2019-07-19 21:09发布

本帖最后由 woshiludinghua 于 2016-7-3 23:26 编辑


最近使用sprint函数打印小数并输出,写了下面的函数,但是没法输出小数,可以输出整数,不知为何原因,请大师指点

char num[64]= {0};

void send_string_to_uart( char* char_point)//将字符送到串口
{
     do
     {
        while((UART1_SR&CHSBIT7)==0x00);
        UART1_DR = *char_point++;
     }while(*char_point);

     while((UART1_SR&CHSBIT7)==0x00);
     UART1_DR = ' ';         
     while((UART1_SR&CHSBIT7)==0x00);
     UART1_DR = ' ';         
}

void main(void)
{        
      External_Hign_Speed_ClockInit();//STM8外部时钟初始化
      UART1_Init();//串口初始化
      while(1)
      {
            sprintf((char*)num, "%4.2f", 3.14);//?????????这里写法不对吗
            send_string_to_uart(num);//将字符输到串口调试助手显示
      }   
}


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。