在C脚本拆分双字节到单字节和位的时候遇到的问题

已锁定

博雅

  • 帖子

    1427
  • 精华

    6
  • 被关注

    24

论坛等级:侠圣

注册时间:2005-04-01

普通 普通 如何晋级?

在C脚本拆分双字节到单字节和位的时候遇到的问题

2138

14

2008-04-27 10:45:29

我首先自己建了一个头文件,在头文件里我定义了一个集合:
union{
WORD Wval;
struct{
unsigned d0:1;
unsigned d1:1;
unsigned d2:1;
unsigned d3:1;
unsigned d4:1;
unsigned d5:1;
unsigned d6:1;
unsigned d7:1;
unsigned d8:1;
unsigned d9:1;
unsigned d10:1;
unsigned d11:1;
unsigned d12:1;
unsigned d13:1;
unsigned d14:1;
unsigned d15:1;
}WBits;
struct{
BYTE HValue;//前一个字节
BYTE LValue;//后一个字节
}WBytes;
}myword;
这是头文件里的内容,
我再定义二个用户标准函数,一个是用来返回两个单字节的,一个是用来返回其中某一个位的:
#include "我的头文件"
void tobyte(char str[30],char Hvalue[30],char Lvalue[30])
{
myword.Wval=GetTagWord(str);
SetTagWord(Hvalue,myword.WBytes.HValue);
SetTagWord(Hvalue,myword.WBytes.LValue);
}
这个程序我试过,可以返回的.
BOOL tobit(char str[30],int num)
{
myword.Wval=GetTagWord(str);
return myword.WBits.dX //这里我就不知道怎么写了,X应该是我从参数年传过来的num
}
我就这儿不会了,这个集合也可以用来拼成16双字节来用,本来我想试验成功后发上来让班主给我加个精的,谁知道在这儿挡住了,大哥们帮帮忙呀!看看有什么好的办法?
不想用switch case等,我总觉得有更好的方法!在此谢谢!
在C脚本拆分双字节到单字节和位的时候遇到的问题 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32569条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。