TI中文支持网
TI专业的中文技术问题搜集分享网站

关于tms320c6747定义16位寄存器位域的问题

在epwm模块里面基本全是16位的寄存器,但是定义16位寄存器位域的时候,会报警告,说unsigned short这个类型不是标准的定义位域的类型,并且就算强行运行了,寄存器对这样定义的位操作没有反应。。

比如,其中Uint16就是unsigned short

struct    TBCTL_BIT    {
    Uint16    CTRMODE        :2;
    Uint16    PHSEN        :1;
    Uint16    PRDLD        :1;
    Uint16    SYNCOSEL    :2;
    Uint16    SWFSYNC        :1;
    Uint16    HSPCLKDIV    :3;
    Uint16    CLKDIV        :3;
    Uint16    PHSDIR        :1;
    Uint16    FREE_SOFT    :2;
};
union    TBCTL_REG    {
    Uint16    all;
    struct    TBCTL_BIT    bit;
};

如果我想用16位的未定义来操作寄存器我应该怎么办嘞?

Shine:

用(Unit16)强制定义试试看

赞(0)
未经允许不得转载:TI中文支持网 » 关于tms320c6747定义16位寄存器位域的问题
分享到: 更多 (0)