请问“unsigned char recv :6 ;”这个形式结构在单片机C语言里面是怎么理解。 后面的6是指什么呢?

 我来答
历丹南0ij
2012-10-12 · TA获得超过1963个赞
知道小有建树答主
回答量:93
采纳率:100%
帮助的人:88.3万
展开全部

定义单片机里的寄存器中的位,常用这种形式。

比如DSP里有个16bit的寄存器名叫ADC_Reg:

那么这个寄存器就可以这样定义:

struct  ADC_Reg{     // bits  description

    Uint16  rsvd1:4;      // 3:0   保留位

    Uint16  SEQ_CASC:1;   // 4     

    Uint16  SEQ_OVRD:1;   // 5     

    Uint16  CONT_RUN:1;   // 6     

    Uint16  CPS:1;        // 7     

    Uint16  ACQ_PS:4;     // 11:8 

    Uint16  SUSMOD:2;     // 13:12 

    Uint16  RESET:1;      // 14   

    Uint16  rsvd2:1;      // 15  保留位

};

幸福de小阳
2012-10-12 · TA获得超过1103个赞
知道小有建树答主
回答量:342
采纳率:0%
帮助的人:245万
展开全部
你好,单片机里是不接受负数的,一切类型都要定义为 unsigned 类型。

冒号后的数字表示该变量所占二进制位数,通常情况下一个 char 类型的字符是一个字节长(8 位二进制),这里特别说明了该字符为 6 位二进制,去除了 ASCII 码为(01000000B)之后的字符,该类型只能存储 ASCII 码为(00000000B)至(00111111B)的字符。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bingdele
2012-10-12 · TA获得超过745个赞
知道小有建树答主
回答量:366
采纳率:83%
帮助的人:220万
展开全部
一个char类型占8bit,unsigned char recv :6这样定义是这个recv变量占6个bit
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式