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;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM