1 Star 0 Fork 2

hello-tom/Q-GDW376.1

forked from eomer/Q-GDW376.1 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
bitfield.c 893 Bytes
一键复制 编辑 原始数据 按行查看 历史
eomer 提交于 2016-12-31 13:49 . init repo
/*******************
* 命名约定:
* STR - struct;
* UN - union;
********************/
#include <stdio.h>
typedef unsigned char u8;
typedef unsigned short u16;
typedef unsigned int u32;
#pragma pack(push)
#pragma pack(1)
typedef union {
u16 u16b;
struct {
u16 swSt : 9;
u16 rev : 7;
} bs16STR;
} bs16UN;
typedef union {
u8 u8b;
struct {
u8 func : 4;
u8 fcvRev : 1;
u8 fcbAcd : 1;
u8 prm : 1;
u8 dir : 1;
} ctlSTR;
} ctlUN;
#pragma pack(pop)
int main(int argc, char* argv[])
{
bs16UN b16;
ctlUN ctlCode;
b16.u16b = 0;
b16.bs16STR.swSt = 4;
printf("%04X\n", b16);
ctlCode.u8b = 0x4B;
printf("ctlCode.ctlSTR.dir = %d, ctlCode.ctlSTR.prm = %d, ctlCode.ctlSTR.fcbAcd = %d, ctlCode.ctlSTR.fcvRev = %d, ctlCode.ctlSTR.func = %d\n", \
ctlCode.ctlSTR.dir, ctlCode.ctlSTR.prm, ctlCode.ctlSTR.fcbAcd, ctlCode.ctlSTR.fcvRev, ctlCode.ctlSTR.func);
return 0;
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C
1
https://gitee.com/hello-tom/Q-GDW376.1.git
git@gitee.com:hello-tom/Q-GDW376.1.git
hello-tom
Q-GDW376.1
Q-GDW376.1
master

搜索帮助