3055|3

96

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

关于AVR位变量定义和使用的问题 [复制链接]

uchar bdata transdata;    //该变量可为位操作之变量
sbit transbit = transdata^7;

这个uchar bdata是什么意思啊,
struct data
{
unsigned  bit0:1;
unsigned  bit1:1;
unsigned  bit2:1;
unsigned  bit3:1;
unsigned  bit4:1;
unsigned  bit5:1;
unsigned  bit6:1;
unsigned  bit7:1;
}transdata;

这样定义对不对啊?
请大侠帮帮忙。

最新回复

估计楼主是想用位域的方式来使用位 typedef struct bitS {         unsigned  bit0:1;         unsigned  bit1:1;         unsigned  bit2:1;         unsigned  bit3:1;         unsigned  bit4:1;         unsigned  bit5:1;         unsigned  bit6:1;         unsigned  bit7:1; }pbitS; typedef union byteB {         struct bitS b;         unsigned char c; }uByteB; 使用的地方:          union byteB a;         a.b.bit0=1;         a.b.bit3=1;  详情 回复 发表于 2009-11-27 12:12
点赞 关注

回复
举报

71

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
高手帮帮忙啊,感激不尽!
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

板凳
 


  1. //数据链路层帧结构
  2. typedef struct
  3. {
  4.         unsigned char ucSyncHead;    //同步头:0xfa
  5.         unsigned ucMachineNo:3; //目标地址。000~011-从机地址;100-主机地址;101-广播。
  6.         unsigned ucSourceNo:3;  //源地址。000~011-从机地址;100-主机地址;101-广播。
  7.         unsigned ucTokenID:2;   //令牌ID(2Bit)

  8.         unsigned ucPrimaryId:3;  //拥有优先权的从机ID(3Bit)
  9.         unsigned ucCmdCode:5;    //帧序号

  10.         unsigned char ucSndData[DATA_LENGTH]; //数据区, 长度为4个字节。
  11.         unsigned char ucChkSum; //校验和。
  12. }CommFrame;
  13. CommFrame commFrameData;
复制代码

得使用如上的定义,然后使用的时候用commFrameData.ucMachineNo的方式调用
 
 
 

回复

88

帖子

0

TA的资源

一粒金砂(初级)

4
 
估计楼主是想用位域的方式来使用位
typedef struct bitS
{
        unsigned  bit0:1;
        unsigned  bit1:1;
        unsigned  bit2:1;
        unsigned  bit3:1;
        unsigned  bit4:1;
        unsigned  bit5:1;
        unsigned  bit6:1;
        unsigned  bit7:1;
}pbitS;

typedef union byteB
{
        struct bitS b;
        unsigned char c;
}uByteB;

使用的地方:
         union byteB a;
        a.b.bit0=1;
        a.b.bit3=1;
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表