通过研习了“c++的位域该如何转换到C#中”http://topic.youkuaiyun.com/t/20030531/22/1860471.html的文章,也解决了自己想在C#上进行串口开发的问题,串口本身就被C#支持,主要问题就在于一些串口编程中需要使用位域,一些变量只占用1位,在上面的文章中提到:
TheAres(班门斧)回复于 2003-05-31 22:43:47 得分 70
用enum+FlagsAttribute来做
[Flags]
public enum ComStatFlags {
fCtsHold = 0x1, fDsrHold = 0x2, fRlsdHold = 0x4,
fXoffHold = 0x8, fXoffSent = 0x10, fEof = 0x20,
fTxim = 0x40
}
public strut COMSTAT {
public ComStatFlags flags;
public uint cbInQue;
public uint cbOutQue;
...
}
调用的时候是这样调用的:
如需要查看该帧中的fXoffSent
COMSTAT aframe;
val=aframe.flags&ComStatFlags.fXo