请问“unsigned char recv :6 ;”这个形式结构在单片机C语言里面是怎么理解。 后面的6是指什么呢?
展开全部
定义单片机里的寄存器中的位,常用这种形式。
比如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 保留位
};
展开全部
你好,单片机里是不接受负数的,一切类型都要定义为 unsigned 类型。
冒号后的数字表示该变量所占二进制位数,通常情况下一个 char 类型的字符是一个字节长(8 位二进制),这里特别说明了该字符为 6 位二进制,去除了 ASCII 码为(01000000B)之后的字符,该类型只能存储 ASCII 码为(00000000B)至(00111111B)的字符。
冒号后的数字表示该变量所占二进制位数,通常情况下一个 char 类型的字符是一个字节长(8 位二进制),这里特别说明了该字符为 6 位二进制,去除了 ASCII 码为(01000000B)之后的字符,该类型只能存储 ASCII 码为(00000000B)至(00111111B)的字符。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一个char类型占8bit,unsigned char recv :6这样定义是这个recv变量占6个bit
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询