获取byte中每一位的值
byte byData = 0x36;
int n0, n1, n2, n3, n4, n5, n6, n7;
n0 = (byData & 0x01) == 0x01 ? 1 : 0;
n1 = (byData & 0x02) == 0x02 ? 1 : 0;
n2 = (byData & 0x04) == 0x04 ? 1 : 0;
n3 = (byData & 0x08) == 0x08 ? 1 : 0;
n4 = (byData & 0x10) == 0x10 ? 1 : 0;
n5 = (byData & 0x20) == 0x20 ? 1 : 0;
n6 = (byData & 0x40) == 0x40 ? 1 : 0;
n7 = (byData & 0x80) == 0x80 ? 1 : 0;
获取int16中其中某几位的数值
bit
内容
11-15
预留
10
值7
6-9
值6
5
值5
4
值4
3
值3
2
值2
0-1
值1
/// <param name="val"></param>
public virtual void SetValue(UInt16 val)
{
Fac = (Enmus.FactoryDebugStatus)(val & 0x03);
Fligh = (Enmus.FlyLock)((val & 0x04));
Remoti = (Enmus.RemotingLock)(val & 0x08);
Air = (Enmus.AirCtrl)((val & 0x10));
Alt = (Enmus.AltHold)((val & 0x20));
Vertl = (Enmus.VerticalCtrl)(((val >> 6) & 0x0F));
Engin= (Enmus.Start\_StopState)((val & 0x400));
}
表27飞机控制状态说明
Bit
内容
类型
初始值
说明
11~15
预留
R
0
10
发动机控制
R
0
0:停车
1:起车
6~9
垂向控制
R
0
2:二维平飞
3:三维平飞(保持当前高度飞行)
4:三维飞行(按目标高度上升下降飞行)
5
定高模式
R
0
0:无效
1:有效
4
空速控制
R
0
0:空速控制无效
1:空速控制有效
3
遥控解锁
R
0
0:遥控锁定
1:遥控解锁
2
飞行锁定
R
0
0:飞机锁定(飞行状态)
1:飞机解锁(地面调试状态)
0~1
飞控模式
R
0
0:正常模式
1:油门标定模式
2:油门验证模式
3:系留耐久模式
手机扫一扫
移动阅读更方便
你可能感兴趣的文章