GPIO常用操作
GPIO输出流程: 使能时钟–>初始化GPIO–>输出高低电平
int GPIO_OUT_INIT(void) { GPIO_InitTypeDef g; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOE,ENABLE); g.GPIO_Pin=GPIO_Pin_5; g.GPIO_Speed=GPIO_Speed_50MHz; g.GPIO_Mode=GPIO_Mode_Out_PP; GPIO_Init(GPIOB,&g); GPIO_SetBits(GPIOB,GPIO_Pin_5); GPIO_Init(GPIOE,&g); GPIO_ResetBits(GPIOE,GPIO_Pin_5); }
GPIO输入流程:使能时钟–>初始化GPIO–>读入高低电平
void GPIO_IN_INIT(void) { GPIO_InitTypeDef g; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE,ENABLE); g.GPIO_Pin=GPIO_Pin_4; g.GPIO_Mode=GPIO_Mode_IPU; GPIO_Init(GPIOE,&g); }
示例1:从PE4读入高低电平并赋给PB5的三种方法:
GPIO_WriteBit(GPIOB,GPIO_Pin_5,(BitAction)GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_4)); GPIO_WriteBit(GPIOB,GPIO_Pin_5,(BitAction)GPIOE->IDR&GPIO_Pin_4); if(GPIOE->IDR&GPIO_Pin_4) GPIOB->BSRR=GPIO_Pin_5; else GPIOB->BRR=GPIO_Pin_5;
版权声明:本文为AdamChen原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。