| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 462 人关注过本帖
标题:c#如何解决这个问题?
只看楼主 加入收藏
shuguangleo
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-6-19
收藏
 问题点数:0 回复次数:0 
c#如何解决这个问题?
我现在从串口接收到一组返回值存放在数组中:
Byte[] mbyte = new Byte[23];
serialPort.Read(mbyte, 0, 23);
mbyte中的内容是(16进制表示):
AA F1 89 1 0 0 0 0 0 0 0 0 0 0 0 0 3F 31 EB 85 13 A0 FF

现在定义一个结构:
struct retu
        {
            public byte a;//数据头1
            public byte b;//下位机地址
            public byte c;//命令
            public byte d;//状态1
            public float e;//力4
            public float f;//电压
            public float g;//电流
            public float h;//运动时间
            public byte i;//数据长度
            public byte Verify;//校验
            public byte j;//数据尾
        }
就够大小也为23个字节(byte占1字节,float占4字节)。

数组与结构的对应关系是:
public byte a;//数据头1 AA
public byte b;//下位机地址 F1
public byte c;//命令  89
public byte d;//状态  1
public float e;//力  0 0 0 0
public float f;//电压  0 0 0 0
public float g;//电流  0 0 0 0
public float h;//运动时间 3F 31 EB 85
public byte i;//数据长度 13
public byte Verify;//校验 A0
public byte j;//数据尾 FF

请问使用什么方法可以使mbyte和retu对应起来,在程序中直接使用retu.e得出力,retu.f得出电压及其他数据。
用指针可以 么?怎么实现?
搜索更多相关主题的帖子: public 串口 
2008-06-19 12:20
快速回复:c#如何解决这个问题?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021426 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved