MSP430 如何把浮点数 发到串口上[已解决]

2019-03-24 11:23发布

本帖最后由 ilovin 于 2014-7-3 00:05 编辑

用的串口程序如下
void UartTX_Send(unsigned char *Data,int len)
{
        int j;
        for(j=0;j<len;j++)
        {
                while (!(UCA0IFG&UCTXIFG));
                UCA0TXBUF =*Data++;
        }
}

定义了一个char a[10]="3.1415926";用来发送
问题是 如何把一个浮点数 给a[10] 赋值,然后发出去;
这段浮点数转数组的代码不会写

找了一个浮点转字符串的程序就可以了

  1. char *F2S(double d, char* str)
  2. {
  3.   char str1[40];
  4.   int j=0,k,i;
  5.   i = (int)d;  //浮点数的整数部分
  6.   //d = d-(int)d;
  7.   while(i>0)
  8.   {
  9.     str1[j++] = i%10+'0';
  10.     i /= 10;
  11.   }
  12.   for(k=0;k<j;k++)
  13.     str[k] = str1[j-1-k]; //
  14.   str[j++] = '.';
  15.   d -= (int)d;
  16.   for(i=0;i<10;i++)
  17.   {
  18.     d *= 10;
  19.     str[j++] = (int)d+'0';
  20.     d -= (int)d;
  21.   }
  22.   while(str[--j]=='0');
  23.     str[++j] = '';
  24.   return str;
  25. }
复制代码


此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
1条回答
蓝雨夜
1楼-- · 2019-03-24 17:44
 精彩回答 2  元偷偷看……

一周热门 更多>

相关问题

    相关文章