• DA14580之GPIO口的使用


    SDK版本:5.0.4

    开发环境:Keil

    芯片:DA14580

    作者:Asam

       

        DA14580的gpio使用十分简单,只需调用其SDK自带的库函数即可。

        (1)IO口初始化函数 

     1 /**
     2  ****************************************************************************************
     3  * @brief Combined function to set the state and the type and mode of the GPIO pin 
     4  *
     5  * @param[in] port     GPIO port
     6  * @param[in] pin      GPIO pin
     7  * @param[in] mode     GPIO pin mode.     INPUT = 0, INPUT_PULLUP = 0x100, INPUT_PULLDOWN = 0x200, OUTPUT = 0x300,
     8  * @param[in] function GPIO pin usage. GPIO_FUNCTION enumaration.
     9  * @param[in] high     set to TRUE to set the pin into high else low
    10  *
    11  * @return void
    12  ****************************************************************************************
    13  */
    void GPIO_ConfigurePin( GPIO_PORT port, GPIO_PIN pin, GPIO_PUPD mode, GPIO_FUNCTION function, const bool high )  

         

       其中GPIO_FUNCTION 的枚举在SDK中可找到,

       配置应在user_periph_setup.c文件中,void set_pad_functions(void) 函数进行配置,系统会在初始化时执行此函数

     

      

    例如: 

    void set_pad_functions(void)        // set gpio port function mode
    {
    
        //--------LED PIN--------------------
          GPIO_ConfigurePin(GPIO_LED_PORT,GPIO_LED_PIN,OUTPUT,PID_GPIO,false ); 
        //--------KEY PIN--------------------
          GPIO_ConfigurePin(GPIO_KEY_PORT,GPIO_KEY_PIN,INPUT_PULLDOWN,PID_GPIO,false);        
    }

      (2)GPIO高低电平配置与读取

        其实也只需要调用函数即可。

        

        高电平:GPIO_SetActive(GPIO_LED_PORT,GPIO_LED_PIN);

        低电平:GPIO_SetInactive(GPIO_LED_PORT,GPIO_LED_PIN);

        读取电平:GPIO_GetPinStatus(GPIO_LED_PORT,GPIO_LED_PIN)  (高电平返回 true,低电平返回false)

  • 相关阅读:
    英语 年份 读法
    香农第二定理的理解
    为什么正规子群在环里的对应概念叫理想,而不叫正规子环呢?
    vue 时间组件限制选择范围
    ubuntu 设置 shell脚本双击运行
    单元测试规范
    vue-element-admin项目配置运行
    SqlServer表字段查询
    git提交部分文件
    Asp.NetCore+Elasticsearch+Kibana日志记录
  • 原文地址:https://www.cnblogs.com/asam/p/12238272.html
Copyright © 2020-2023  润新知