1547|0

2015

帖子

0

TA的资源

纯净的硅(中级)

楼主
 

F28335的位域和寄存器结构编程实例 [复制链接]

宏与位域和寄存器结构优缺点的对比传统的#define宏提供了地址编号或者是指向寄存器地址的指针。
        这样做的优点是:
        1、简单,快,很容易通过键盘敲出。
        2、变量名和寄存器名一致,容易记忆。
       缺点是:
        1、具体位不容易获取,必须生成掩码来对某个位操作。
        2、不能够在CCS的watch window中方便的显示某些位的值。
        3、宏不能够利用CCS的自动完成功能。
        4、宏不能对相同外设重复使用。


        位域和寄存器结构体的优点如下:
        1、TI提供,无需自己编写,规范性好。
        2、容易读、写、升级,效率高。
        3、很好的利用了CCS的自动完成功能。
        4、可以在CCS的观察窗口中查看具体位的值。


实现位域和寄存器文件结构体的具体步骤(以SCI外设为例)
        1)、定义一个寄存器文件结构体,SCI外设的寄存器在结构体中按实际的地址由低向高依次列出。
/********************************************************************
* SCI header file
* Defines a register file structure for the SCI peripheral
********************************************************************/
#define    Uint16    unsigned int
#define    Uint32    unsigned long
struct SCI_REGS {
Uint16    SCICCR_REG      SCICCR;             // Communications control register
Uint16    SCICTL1_REG     SCICTL1;             // Control register 1
Uint16                                SCIHBAUD;         // Baud rate (high) register
Uint16                                SCILBAUD;         // Baud rate (low) register
Uint16    SCICTL2_REG     SCICTL2;             // Control register 2
Uint16  SCIRXST_REG    SCIRXST;            // Receive status register
Uint16                               SCIRXEMU;               // Receive emulation buffer register
Uint16  SCIRXBUF_REG SCIRXBUF;         // Receive data buffer
Uint16                               rsvd1;                   // reserved
Uint16                               SCITXBUF;          // Transmit data buffer
Uint16  SCIFFTX_REG     SCIFFTX;            // FIFO transmit register
Uint16  SCIFFRX_REG    SCIFFRX;            // FIFO receive register
Uint16  SCIFFCT_REG     SCIFFCT;             // FIFO control register
Uint16                               rsvd2;                   // reserved
Uint16                               rsvd3;                   // reserved
Uint16  SCIPRI_REG        SCIPRI;                      // FIFO Priority control
}

 
点赞 关注

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

查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表