【单片机基础小知识-如何通过指针来读写寄存器】

寄存器的本质就是内存,RAM,而指针是可以对内存进行操作的,因此可以通过指针来读写寄存器。


如何读取以下一片地址:

步骤1、首地址

结构体,它所占用的内存空间大小与它内部成员有关。

构造一个28字节的类型

c 复制代码
typedef struct{  //每个模块都有几个寄存器,而这几个寄存器都是按照顺序连续排放在内存中,只要找到首地址,也就是读数据的第一个地址,需要告知(地址+数据类型)
	unsigned int CRL;  //1-4
	unsigned int CRH;  //5-8
	unsigned int a3;  //9-12
	unsigned int a4;  //13-16
	unsigned int a5;
	unsigned int a6;
	unsigned int a7;
}GPIO_A;
//现在我们访问一个变量,这个变量是一个结构体,一共占用了28个字节,那么这个指针也必须是这个结构体类型的,这称为强制类型转换
#define MyGPIOA ((GPIO_A*)0x40010800)  //首先告诉CPU这是一个地址,这个地址读什么类型的数据呢,读结构体类型的数据,那么这个结构体类型的数据占用28字节空间,我们给这个指针取了一个名字,MyGPIOA
int main(void){
	int a = 2;  //int 类型数据,需要通过int类型的指针读取该数据
	int *p;
	p = &a;
	MyGPIOA->CRH = 2; //通过这种方式对寄存器进行操作
	
	while(1)
	{

	}
}
相关推荐
天空'之城5 小时前
单片机基础核心知识点汇总(三十四)
单片机·嵌入式硬件
三佛科技-187366133977 小时前
24W-48W隔离双绕组非标自供电芯片LP3718CD(电路原理图)
单片机·嵌入式硬件
阿钱真强道10 小时前
01 嵌入式操作系统 | 课程导论与虚拟机安装 Ubuntu
linux·ubuntu·嵌入式·虚拟机
电子元器件选型哥11 小时前
一文讲清LLC谐振电路工作原理
单片机·嵌入式硬件·硬件工程师·电子元器件·器件选型
ZLG_zhiyuan12 小时前
测试方案 | 从“000”到“111”,高效完成100BASE-TX以太网眼图测试
单片机·嵌入式硬件
H_oRIZoN_13 小时前
Linux入门DAY39(51 单片机入门笔记|最小系统、位运算、处理器、数码管基础梳理)
单片机·嵌入式硬件
12.=0.13 小时前
【电学基础】
单片机·嵌入式硬件
开发笔记-阿牛14 小时前
嵌入式蓝牙开发:AC2005B 芯片技术解析 —— 省晶振设计、13dBm 射频与 Auracast 广播音响开发指南
人工智能·单片机·音视频
单片机仿真设计14 小时前
【proteus仿真】基于 STM32 单片机电梯运行状态监控设计(仿真图+程序)
stm32·单片机·嵌入式硬件·proteus
Run_Teenage14 小时前
嵌入式:理解I2C通信基本原理
stm32·单片机·嵌入式硬件