以下为标准库方式输入输出示例代码
初始化
void GPIOInit(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
//先打开时钟
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA|RCC_AHBPeriph_GPIOB, ENABLE);
//GPIO_DeInit(GPIOA);
//输出配置
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; //
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_Init(GPIOA, &GPIO_InitStructure);
//输入配置
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3|GPIO_Pin_4;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//上拉电阻打开
GPIO_Init(GPIOA, &GPIO_InitStructure);
}
操作
//输出示例
#define BEEP_OFF GPIO_SetBits(GPIOA , GPIO_Pin_5)
#define BEEP_ON GPIO_ResetBits(GPIOA,GPIO_Pin_5)
#define BEEP_TOGGLE GPIOA->ODR^=GPIO_Pin_5
//输入示例
if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_3)==0)
...
|
|