寄存器操作方法_对寄存器操作的通用方法总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
寄存器操作方法_对寄存器操作的通用方法总结
寄存器,是集成电路中非常重要的一种存储单元,通常由触发器组成。在集成电路设计中,寄存器可分为电路内部使用的寄存器和充当内外部接口的寄存器这两类。内部寄存器不能被外部电路或软件访问,只是为内部电路的实现存储功能或满足电路的时序要求。而接口寄存器可以同时被内部电路和外部电路或软件访问,CPU中的寄存器就是其中一种,作为软硬件的接口,为广泛的通用编程用户所熟知。本文主要详解寄存器操作方法以及对寄存器操作的通用方法总结,具体的跟随小编来了解一下。
一、寄存器操作1、#define方法
1)寄存器地址的定义:
#define UART_BASE_ADRS (0x10000000)/* 串口的基地址*/
#define UART_RHR *(volatile unsigned char *)(UART_BASE_ADRS + 0)/* 数据接受寄存器*/
#define UART_THR *(volatile unsigned char *)(UART_BASE_ADRS + 0)/* 数据发送寄存器*/
2)寄存器读写操作:
UART_THR = ch; /* 发送数据*/
ch = UART_RHR; /* 接收数据*/
也可采用定义带参数宏实现
#define WRITE_REG(addr,ch)*(volatile unsigned char *)(addr)= ch
#define READ_REG(addr,ch)ch = *(volatile unsigned char *)(addr)
3)对寄存器相应位的操作方法:
定义寄存器
#define UART_LCR *(volatile unsigned char *)(UART_BASE_ADRS + 3)/* 线控制寄存器*/