文章
博客 网店

 STM32F0 IO口配置与操作


以下为标准库方式输入输出示例代码
初始化

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)
           ...
  


芯艺工作室    蒙ICP备06005492号
Copyright© 2004-2023 ChipArt Studio All Rights Reserved