找回密码
 立即注册
收起左侧

串口发来数据转换的问题

3
回复
4346
查看
[复制链接]
累计签到:56 天
连续签到:1 天
来源: 2013-12-31 18:47:18 显示全部楼层 |阅读模式

马上注册,查看详细内容!注册请先查看:注册须知

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
我通过串口发来一个8位的原始数据,需要转换成实际的电压在显示,原始值是temp=125,对应的字符是‘}’,转换公式为
v=temp*3.3/256,显示在lineedit上
  1.     QByteArray temp = myCom->readAll();
  2.     //读取串口缓冲区的所有数据给临时变量temp
  3. //   qDebug()<<temp;

  4.     int i=temp.toInt();
  5.     float v=3.3*i/256;
  6.     QString strint=QString("%1").arg(v);
  7.     ui->lineEdit_2->setText(strint)
复制代码
这是我写的代码,temp是原始数据,接收到的确实是‘}’,但是我想把他转换为int型的125,i却为0了

请问我该怎么解决?
回复

使用道具 举报

累计签到:56 天
连续签到:1 天
2013-12-31 21:58:44 显示全部楼层
解决办法:int i=temp[0]&0xff;

谁能解释下为啥toint函数就是不行呢????
回复 支持 反对

使用道具 举报

累计签到:7 天
连续签到:1 天
2014-3-27 09:27:59 显示全部楼层
xinkexue 发表于 2013-12-31 21:58
解决办法:int i=temp[0]&0xff;

谁能解释下为啥toint函数就是不行呢????

lineEdit可以显示变量吗?
回复 支持 反对

使用道具 举报

累计签到:7 天
连续签到:1 天
2014-3-27 09:29:50 显示全部楼层
xinkexue 发表于 2013-12-31 21:58
解决办法:int i=temp[0]&0xff;

谁能解释下为啥toint函数就是不行呢????

lineEdit可以显示变量吗?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了