打印
[51单片机]

Byte 与 Bit (数组)

[复制链接]
1525|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
fnh02|  楼主 | 2014-7-17 13:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 fnh02 于 2014-7-17 14:29 编辑

//1 Byte == 8 Bit

Byte bdata Buff;

//能不能像数组一样去操作 Buff这个数呢?

//Exp:
     Buff = #00010001B;

     Buff[0] = 1;
     Buff[1] = 0;
     Buff[2] = 0;
     Buff[3] = 0;
     Buff[4] = 1;
     Buff[5] = 0;
     Buff[6] = 0;
     Buff[7] = 0;


for(i=0;i<7;i++)
{
  Buff[0] = x;
}
结构体???
怎样定义呢?

相关下载

相关帖子

沙发
ddllxxrr| | 2014-7-17 13:59 | 只看该作者
不行

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
fnh02 + 1 很给力!
板凳
msblast| | 2014-7-17 14:02 | 只看该作者
用结构体可以,用位域。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
fnh02 + 1 很给力!
地板
旭日东起| | 2014-7-17 14:19 | 只看该作者
用结构体可以,每个因子分配1位的空间

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
fnh02 + 1 很给力!
5
ayb_ice| | 2014-7-17 17:09 | 只看该作者
typedef union{
    uchar byte;

    struct{
        uchar b0:1;
        uchar b1:1;
        uchar b2:1;
        uchar b3:1;
        uchar b4:1;
        uchar b5:1;
        uchar b6:1;
        uchar b7:1;
    }flag;

}t_BF;

t_BF bf;

        bf.byte = 0xf0;
       
        if(bf.flag.b0 != 0 || bf.flag.b7 != 1){
                __error();
        }

使用特权

评论回复
评分
参与人数 1威望 +2 收起 理由
fnh02 + 2 很给力!
6
peter_wjp| | 2014-7-22 15:46 | 只看该作者
msblast 发表于 2014-7-17 14:02
用结构体可以,用位域。

正解

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

53

帖子

0

粉丝