求助一个寄存器赋值写法问题

2019-03-26 14:50发布

pSciRegs->SCICCR.all = 0x0007; // 1 stop bit,  No loopback
    // No parity,8 char bits,
    // async mode, idle-line protocol
对这个寄存器这样写入之后,我的理解不就是SCICCR除了最后一位,其它位都是1,但是这个注释似乎解释的不是这样子,求大家指点 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
清苦微甜
1楼-- · 2019-03-27 09:59
struct  SCI_REGS {
   union SCICCR_REG     SCICCR;     // Communications control register
   union SCICTL1_REG    SCICTL1;    // Control register 1
   Uint16               SCIHBAUD;   // Baud rate (high) register
   Uint16               SCILBAUD;   // Baud rate (low) register
   union SCICTL2_REG    SCICTL2;    // Control register 2
   union SCIRXST_REG    SCIRXST;    // Recieve status register
   Uint16               SCIRXEMU;   // Recieve emulation buffer register
   union SCIRXBUF_REG   SCIRXBUF;   // Recieve data buffer
   Uint16               rsvd1;      // reserved
   Uint16               SCITXBUF;   // Transmit data buffer
   union SCIFFTX_REG    SCIFFTX;    // FIFO transmit register
   union SCIFFRX_REG    SCIFFRX;    // FIFO recieve register
   union SCIFFCT_REG    SCIFFCT;    // FIFO control register
   Uint16               rsvd2;      // reserved
   Uint16               rsvd3;      // reserved
   union SCIPRI_REG     SCIPRI;     // FIFO Priority control
};


一个是Uint16 另一个是union 当然赋值方式不一样...
会飞的石头人
2楼-- · 2019-03-27 10:04
 精彩回答 2  元偷偷看……
littleshrimp
3楼-- · 2019-03-27 14:28
 精彩回答 2  元偷偷看……
会飞的石头人
4楼-- · 2019-03-27 17:50
littleshrimp 发表于 2017-9-21 16:15
先不说你的代码具体是怎么样的,做个假设下边的代码是一个例子,config和voltage都是uint8长度,config对 ...

好的,版主,我明白了,谢谢你

一周热门 更多>