位定义方法定义寄存器

随声附和 提交于 2019-11-28 13:30:21

寄存器“位域”定义的语法格式:

Struct 位域结构名
{
    类型说明符  位域名1:位域长度
    类型说明符  位域名2:位域长度
    ...
    类型说明符  位域名n:位于长度
}
//从右到左申明的
//位域的申明不能横跨两个字节
struct  SCICCR_BITS {        // bit    description
   Uint16 SCICHAR:3;         // 2:0    Character length control        
   Uint16 ADDRIDLE_MODE:1;   // 3      ADDR/IDLE Mode control
   Uint16 LOOPBKENA:1;       // 4      Loop Back enable
   Uint16 PARITYENA:1;       // 5      Parity enable   
   Uint16 PARITY:1;          // 6      Even or Odd Parity
   Uint16 STOPBITS:1;        // 7      Number of Stop Bits
   Uint16 rsvd1:8;           // 15:8   reserved
}; 


union SCICCR_REG {
   Uint16              all;
   struct SCICCR_BITS  bit;
};union SCICCR_REG SCICCR;SCICCR.all=0x007F;SCICCR.bit.SCICHAR=5;//结构体与共同体的区别:共同体共用一个存储空间。

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!