串行通信的数据类型问题 点击:893 | 回复:4



yoyo1212

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 1回
  • 年度积分:0
  • 历史总积分:16
  • 注册:2002年7月26日
发表于:2002-07-31 16:17:00
楼主
因为工作需要,我需要编写一个通信程序。在上位机的程序通过VC实现,在下位机的程序是通过C语言实现。现在,二者间的通信没有问题,但我的问题是出在数据类型上。 在我的程序中,下位是采集、运算和控制用,我将该计算机进行封装,做成一个黑匣,没有人机界面。但为了监视数据的正确性,我想在需要的时候通过串口将该数据传到上位机进行显示,这个数据是浮点数。 我不知道如何将这个浮点数传到上位机。 我阅读了串口通信的书籍,似乎串口每次传输的数据是在255以内的字符型或二进制数据,我无法发出大于255的数据;在VC方面,我也不太明白,从VARIANT类型向浮点类型数据的转换。 恳请高手指点



gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2002-07-27 12:27:00
1楼
先定义数据包的格式,全部已INT发;收到后再进行INT--FLOAT的转换。

gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2002-07-28 17:00:00
2楼
我在串行通信中遇到问题,我无法传送FLOAT类型的数据。有网友ZHE告诉我可以先定义数据包的格式,全部已INT发;收到后再进行INT--FLOAT的转换。   可在我手上的编程资料上没有找到关于数据打包和解包的内容,请知道这个问题的网友能告知一声,不甚感谢。

fleamboy

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 2回
  • 年度积分:0
  • 历史总积分:5
  • 注册:2002年7月29日
发表于:2002-07-29 10:48:00
3楼
最好的方法是: 将浮点数按照4个字节的浮点二进制传送,即每个浮点数占用4个字节。

谢谢指导

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 3回
  • 年度积分:0
  • 历史总积分:9
  • 注册:2002年7月10日
发表于:2002-07-31 16:17:00
4楼
可不可以将赴点数转换为字符串发送然后转换回来

热门招聘
相关主题

官方公众号

智造工程师