串口通信中的float型数据的处理

本文介绍了如何将从串口接收到的字符数据转换为浮点数,以及如何将浮点数格式化并显示为固定小数位数的字符串。通过示例代码详细解释了大端和小端模式下数据的处理方式。
AI助手已提取文章相关产品:

1、将串口接收的数据转换为float型数据

float CXXDlg::FourChar2Float(char* szBuf,              //HEX ASC数据
                             bool bBigEndian = false)  //指示是否是Big Endian结构
{
    typedef union  
    {
        unsigned char  uc[4];   
        float          f;
    }Float4Byte;


    Float4Byte f4b;


    if(bBigEndian) //大端模式 调整数据顺序(因为PC机是小端模式)
    {
        f4b.uc[0] = (unsigned char)szBuf[3];
        f4b.uc[1] = (unsigned char)szBuf[2];
        f4b.uc[2] = (unsigned char)szBuf[1];
        f4b.uc[3] = (unsigned char)szBuf[0];
    }
    else
    {
        f4b.uc[0] = (unsigned char)szBuf[0];
        f4b.uc[1] = (unsigned char)szBuf[1];
        f4b.uc[2] = (unsigned char)szBuf[2];
        f4b.uc[3] = (unsigned char)szBuf[3];
    }


    return f4b.f; //返回浮点数数据
}






2、将float型数据转换成CString显示,精确到小数点nDigit位
void CXXDlg::F

您可能感兴趣的与本文相关内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值