要使用库函数配置io口,首先我们就要知道库函数是怎么用的,我们打开gpio.h文件,拉到最下面,我们可以看到许多函数声明,我们就来了解一下这些函数的作用
第一个void GPIO_DeInit(GPIO_TypeDef* GPIOx);这个函数是一个复位函数,调用这个函数后,指定的io口就会复位。
第二个void GPIO_AFIODeInit(void);也是复位函数,用来复位AFIO外设
第三个void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct);这个函数很重要,这个函数的作用是用结构体的参数来初始化GPIO口,我们需要先定义一个结构体变量,然后再给结构体赋值,最后调用这个函数。这个函数内部就会自动调用读取结构体的值,然后自动把外设的各个参数配置好
第四个void GPIO_StructInit(GPIO_InitTypeDef* GPIO_InitStruct);这个函数可以把结构体变量赋一个默认值
接下来的四个是读取io口的函数。
再接下来这四个是写入函数。
再下面的函数我们不会用到,所以不解释了。
要想配置io口我们还得配置时钟,一样的,我们先了解官方库函数关于时钟配置库函数的声明我们打开rcc.h
这里我们可以看到这三个函数,这三个使我们用到配置时钟的函数,我们不明白这个函数是什么意思,我们可以右键再点击转到定义
这里他告诉我们,第一个变量是选择外设,第二个变量是选择使能或不使能,如果我们不知道哪个外设是挂在哪个总线上的,可以往下滚动鼠标
在这里查看,那么我们已经明白了时钟和io口的配置函数是怎么用的了,那么我们接下来尝试一下使用这些函数来配置吧。
可以像我这样去配置,不懂选择模式的可以参考我这个注释
配置完后写入个输出函数点灯就完成啦!