0.9.1 - GPIO 初始化函数与GPIO 引脚工作模式真值表

2023-05-16

void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct);

我们要使用STM32的片上外设

        第一步,要打开对应外设的时钟。

        第二步,要配置对应外设的寄存器。

我们在使用STM32标准库进行开发时,会大量使用宏定义和结构体来定义操作定义寄存器。其中GPIO是这样的,先打开APB2上对应的GPIO的时钟,然后会GPIO的寄存器写入配置,即可使用。

为了方便函数操作,定义了GPIO的寄存器结构体类型,如下图: 

函数GPIO_INIT();的第一个参数就是传入GPIO寄存器的首地址,然后函数内部用结构体指针对结构体成员进行赋值,第二个参数差不多的效果,但是第二个结构体类型会实际用来生成变量,然后将配置装到这个变量里面去,最终由函数来完成对寄存器的赋值写入。这个其实就是换了一种对寄存器赋值的手法,本质还是去操作寄存器。

 GPIO的有多种模式,看一下初始化结构体定义:

 同样,用结构体指针将配置内容取出,然后赋值给寄存器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

0.9.1 - GPIO 初始化函数与GPIO 引脚工作模式真值表 的相关文章

随机推荐