有关串口数据接收字符串

2019-07-20 04:53发布

各位大佬,
我想实现串口接收数据后,将数据整合为字符串或者浮点型变量。
大概就是,用串口监控助手,发送 1.23456  开发板串口接收到后赋值给一个float型变量,这个float型变量的值就是1.23456

有没有大神给个思路,十分感谢!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
ichmarcel
1楼-- · 2019-07-21 06:01
vuongnavy 发表于 2018-11-23 23:35
我也想用串口每20ms读取陀螺仪的数据,然后不知道怎么将串口获得的数据转换成可以用于程序里面的变量,楼主 ...

你好,我当时的问题是从串口接收到char型数组,然后转成float型变量,如果你遇到的也是这个问题的话可以参考一下我的解决方案,我把代码贴给你。

int char2int(uint8_t data4g[], int count)
{
        int i;
        int result=0;
        for(i=0;i<count;i++)
        {
                result=result*10+data4g-'0';
        }
        return result;
}

double char2float(uint8_t data4g[], int count)
{
        int i;
        int j;
        double result=0;
        for(i=0;i<count;i++)
        {
                if(data4g=='.')
        {
          j=i;
          continue;
        }
                result=result*10+data4g-'0';
        }
        result=result*pow(10.0,(j-count+1));
       
        return result;       
}

这两个就是把字符串转成整形或者浮点型数据。
ichmarcel
2楼-- · 2019-07-21 06:19
ichmarcel 发表于 2018-11-26 10:41
你好,我当时的问题是从串口接收到char型数组,然后转成float型变量,如果你遇到的也是这个问题的话可以 ...

这个count就是接收到的数组的长度,data4g就是把串口接收到的数据放进去
vuongnavy
3楼-- · 2019-07-21 12:09
 精彩回答 2  元偷偷看……

一周热门 更多>