做护肤品好的网站好,杭州正规引流推广公司,本科自考有哪些科目,如何做网站收徒弟网站寄存器的本质就是内存#xff0c;RAM#xff0c;而指针是可以对内存进行操作的#xff0c;因此可以通过指针来读写寄存器。 如何读取以下一片地址#xff1a;
步骤1、首地址 结构体#xff0c;它所占用的内存空间大小与它内部成员有关。 构造一个28字节的类型
type…寄存器的本质就是内存RAM而指针是可以对内存进行操作的因此可以通过指针来读写寄存器。 如何读取以下一片地址
步骤1、首地址 结构体它所占用的内存空间大小与它内部成员有关。 构造一个28字节的类型
typedef struct{ //每个模块都有几个寄存器而这几个寄存器都是按照顺序连续排放在内存中只要找到首地址也就是读数据的第一个地址需要告知地址数据类型unsigned int CRL; //1-4unsigned int CRH; //5-8unsigned int a3; //9-12unsigned int a4; //13-16unsigned 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){}
}