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
-
enumerator INPUT_PULL_UP
-
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
-
enumerator IRQ_TRIGGER_LOW_LEVEL
-
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
-
enumerator GPIO0