C语言的指针在32位单片机上的应用

C语言的指针应用

(int*)(0x400ff0d4)      代表强制转换地址0x400ff0d4为int型32位指针。

*((int*)(0x400ff0d4))  代表取地址指针的内容

所以有

 

接下来看看C语言结构图的深入应用

1.首先生成GPIO_MEMapPtr的结构体指针变量

2.用define 定义结构体指针起始地址 为        PTA_BASE_PTR......

3.将base指向的元素定义到寄存器为    GPIO_PDOR_REG(BASE)    ,代表选中以base为基地址的PDOR寄存器(即某gpio的pdor),再次封装即可直接使用。

 

      warnings: 使用    volatile进行变量的声明,代表在编译器优化时,对该变量进行忽略。(变量保护)

C语言的指针在32位单片机上的应用_第1张图片

 

C语言的指针在32位单片机上的应用_第2张图片

 

 

 

你可能感兴趣的:(C语言,STM32)