[English]

GPIO

GPIO API Reference

Functions

OSStatus BkGpioInitialize(bk_gpio_t gpio, bk_gpio_config_t configuration)

Initialises a GPIO pin.

备注

Prepares a GPIO pin for use.

参数
  • gpio – : the gpio pin which should be initialised

  • configuration – : A structure containing the required gpio configuration

返回

  • kNoErr : on success.

  • kGeneralErr : if an error occurred with any step

OSStatus BkGpioFinalize(bk_gpio_t gpio)

DeInitialises a GPIO pin.

备注

Set a GPIO pin in default state.

参数

gpio – : the gpio pin which should be deinitialised

返回

  • kNoErr : on success.

  • kGeneralErr : if an error occurred with any step

OSStatus BkGpioOutputHigh(bk_gpio_t gpio)

Sets an output GPIO pin high.

备注

Using this function on a gpio pin which is set to input mode is undefined.

参数

gpio – : the gpio pin which should be set high

返回

  • kNoErr : on success.

  • kGeneralErr : if an error occurred with any step

OSStatus BkGpioOutputLow(bk_gpio_t gpio)

Sets an output GPIO pin low.

备注

Using this function on a gpio pin which is set to input mode is undefined.

参数

gpio – : the gpio pin which should be set low

返回

  • kNoErr : on success.

  • kGeneralErr : if an error occurred with any step

OSStatus BkGpioOutputTrigger(bk_gpio_t gpio)

Trigger an output GPIO pin

Trigger an output GPIO pin’s output. Using this function on a gpio pin which is set to input mode is undefined.

参数

gpio – : the gpio pin which should be set low

返回

  • kNoErr : on success.

  • kGeneralErr : if an error occurred with any step

bool BkGpioInputGet(bk_gpio_t gpio)

Get the state of an input GPIO pin.

备注

Get the state of an input GPIO pin. Using this function on a gpio pin which is set to output mode will return an undefined value.

参数

gpio – : the gpio pin which should be read

返回

  • 1 : if high

  • 0 : if low

OSStatus BkGpioEnableIRQ(bk_gpio_t gpio, bk_gpio_irq_trigger_t trigger, bk_gpio_irq_handler_t handler, void *arg)

Enables an interrupt trigger for an input GPIO pin.

备注

Enables an interrupt trigger for an input GPIO pin. Using this function on a gpio pin which is set to output mode is undefined.

参数
  • gpio – : the gpio pin which will provide the interrupt trigger

  • trigger – : the type of trigger (rising/falling edge)

  • handler – : a function pointer to the interrupt handler

  • arg – : an argument that will be passed to the interrupt handler

返回

  • kNoErr : on success.

  • kGeneralErr : if an error occurred with any step

OSStatus BkGpioDisableIRQ(bk_gpio_t gpio)

Disables an interrupt trigger for an input GPIO pin.

备注

Disables an interrupt trigger for an input GPIO pin. Using this function on a gpio pin which has not been set up using bk_gpio_input_irq_enable is undefined.

参数

gpio – : the gpio pin which provided the interrupt trigger

返回

  • kNoErr : on success.

  • kGeneralErr : if an error occurred with any step

Macros

BkGpioInputGet

Type Definitions

typedef void (*platform_gpio_irq_callback_t)(void *arg)
typedef GPIO_INDEX bk_gpio_t
typedef platform_pin_config_t bk_gpio_config_t
typedef platform_gpio_irq_trigger_t bk_gpio_irq_trigger_t
typedef platform_gpio_irq_callback_t bk_gpio_irq_handler_t

Enumerations

enum platform_pin_config_t

Pin configuration

Values:

enumerator INPUT_PULL_UP
enumerator INPUT_PULL_DOWN
enumerator INPUT_NORMAL
enumerator OUTPUT_NORMAL
enumerator GPIO_SECOND_FNNC
enumerator GPIO_HIGH_IMPENDANCE
enum platform_gpio_irq_trigger_t

GPIO interrupt trigger

Values:

enumerator IRQ_TRIGGER_LOW_LEVEL
enumerator IRQ_TRIGGER_HGIH_LEVEL
enumerator IRQ_TRIGGER_RISING_EDGE
enumerator IRQ_TRIGGER_FALLING_EDGE
enum GPIO_INDEX

Values:

enumerator GPIO0
enumerator GPIO1
enumerator GPIO6
enumerator GPIO7
enumerator GPIO8
enumerator GPIO9
enumerator GPIO10
enumerator GPIO11
enumerator GPIO14
enumerator GPIO15
enumerator GPIO16
enumerator GPIO17
enumerator GPIO20
enumerator GPIO21
enumerator GPIO22
enumerator GPIO23
enumerator GPIO24
enumerator GPIO26
enumerator GPIO28
enumerator GPIONUM