常用的GPIO外设函数的功能

void GPIO_DeInit(GPIO_TypeDef* GPIOx);//1
void GPIO_AFIODeInit(void);//2
void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct);//3
void GPIO_StructInit(GPIO_InitTypeDef* GPIO_InitStruct);//4
uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);//5
uint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx);//6
uint8_t GPIO_ReadOutputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);//7
uint16_t GPIO_ReadOutputData(GPIO_TypeDef* GPIOx);//8
void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);//9
void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);//10
void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal);//11
void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal);//12

第1个:调用后可以使被选择的GPIO外设复位

第2个:调用后可以使被选择的AFIO外设被复位

第3个:不可以直接调用,需要先用结构体的参数来初始化GPIO口,需要先定义结构体变量(GPIO_InitTypeDef+自己取的名字),再给结构体赋值,然后再调用这个函数,然后它就会按照刚刚配置的数据对GPIO口赋值

第4个:调用后可以把结构体变量赋一个默认值

第5个~~第8个:GPIO的读取函数

第9个~~第12个:GPIO的写入函数

剩下还有很多函数,但暂时用不上

GPIO的8种模式:

  GPIO_Mode_AIN = 0x0,//1
  GPIO_Mode_IN_FLOATING = 0x04,//2
  GPIO_Mode_IPD = 0x28,//3
  GPIO_Mode_IPU = 0x48,//4
  GPIO_Mode_Out_OD = 0x14,//5
  GPIO_Mode_Out_PP = 0x10,//6
  GPIO_Mode_AF_OD = 0x1C,//7
  GPIO_Mode_AF_PP = 0x18//8

1:模拟输入

2:浮空输入

3:下拉输入

4:上拉输入

5:开漏输出

6:推挽输出

7:复用开漏

8:复用推挽

4个GPIO输出函数

void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);//1
void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);//2
void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal);//3
void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal);//4

1:把指定的口设置为高电平

2:把指定的口设置为低电平

3:前两个参数用来选择参数,第三个参数用来决定端口电信号,例如Bit_SET,就是给高电平

4:第一个参数用来选择GPIOX,第二个参数用来对16个端口进行写入操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值