1、GPIO初始化
#include "bsp_gpio.h"/*GPIO_Mode_IN = 0x00,GPIO_Mode_OUT = 0x01,GPIO_Mode_AF = 0x02,GPIO_Mode_AN = 0x03*//*GPIO_OType_PP = 0x00,GPIO_OType_OD = 0x01*//*GPIO_PuPd_NOPULL = 0x00,GPIO_PuPd_UP = 0x01,GPIO_PuPd_DOWN = 0x02*//*GPIO_Low_Speed = 0x00,GPIO_Medium_Speed = 0x01,GPIO_Fast_Speed = 0x02,GPIO_High_Speed*/void GPIO_OUT_INIT(){//打开时钟RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC,ENABLE);//初始化IO口{GPIO_InitTypeDef GPIO_InitStruct;GPIO_InitStruct.GPIO_Pin = GPIO_Pin_13;GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT;GPIO_InitStruct.GPIO_OType= GPIO_OType_PP;GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_UP;GPIO_InitStruct.GPIO_Speed= GPIO_Medium_Speed;GPIO_Init(GPIOC,&GPIO_InitStruct);}}void GPIO_IN_INIT(){//打开时钟RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB,ENABLE);//初始化IO口{GPIO_InitTypeDef GPIO_InitStruct;GPIO_InitStruct.GPIO_Pin = GPIO_Pin_2;GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IN;// GPIO_InitStruct.GPIO_OType= GPIO_OType_PP;GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_UP;// GPIO_InitStruct.GPIO_Speed= GPIO_Medium_Speed;GPIO_Init(GPIOB,&GPIO_InitStruct);}}
2、函数相关功能
uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);例:i = GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_2);读取PB2的数据uint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx);例:i = i = GPIO_ReadInputData(GPIOB);读取PB的数据void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);例:GPIO_SetBits(GPIOC,GPIO_Pin_13);将PC13设置为高电平void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);例:GPIO_ResetBits(GPIOC,GPIO_Pin_13);将PC13设置为低电平void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal);例:GPIO_WriteBit(GPIOC,GPIO_Pin_13,Bit_SET);将PC13设置为高电平void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal);例:GPIO_Write(GPIOC, 0X0055);将PC口输出设为0x0055;void GPIO_ToggleBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);例:GPIO_ToggleBits(GPIOC,GPIO_Pin_13);将PC13电平翻转
