void FToStr1(float fl , char *str, uint8_t d)  // fl:浮点数    d:小数位数

{
    int     integer = 0;     //整数部分
    float   decimal  = 0;    //小数部分
    int     temp;
    uint8_t i, n;
    //整数部分
    integer = (int)(fl);
    temp = integer;
    n = 0;
    do
    {
        n++;
        temp = (int)(temp / 10);  //计算有几位整数位 n
    }
    while(temp != 0);
 
    temp = integer;
    for( i = 0; i < n ; i++)
    {
        *(str + n - 1 - i) = (uint8_t)(temp % 10) + '0'; //此处跳出
        temp = (int)(temp / 10);
    }
    if( d == 0 )
    {
        *(str + i) = '\0';
    }
    else
    {
        *(str + i) = '.';
    }
    //小数部分
    decimal = fl - integer;
    for(i = n + 1; i < d + n + 1 ; i++)
    {
        decimal = decimal * 10;
        *(str + i) = (uint8_t)(decimal) + '0';
        decimal = decimal - (uint8_t)(decimal);
    }
    *(str + i) = '\0';
}