DA14580之GPIO口的使用

大憨熊 提交于 2020-01-28 16:52:22

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)

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!