45 #define GPIO_DRV_VERSION ARM_DRIVER_VERSION_MAJOR_MINOR(2, 0) 47 #define GPIO_NUMBER_OF_PIN 0x20 82 switch (interruptMode)
85 GPIO_SetLowLevelInterrupt(base, mask);
88 GPIO_SetHighLevelInterrupt(base, mask);
91 GPIO_SetFallingEdgeInterrupt(base, mask);
94 GPIO_SetRisingEdgeInterrupt(base, mask);
100 GPIO_EnableInterrupt(base, mask);
114 if (NULL == apPinConfig)
116 pGpioConfig = &gpioConfigDefault;
117 pGpioConfig->
modeFunc = (IOCON_FUNC0 | IOCON_MODE_PULLUP);
133 EnableIRQ(pinHandle->
irq);
150 GPIO_SetPinsOutput(pinHandle->
base, pinHandle->
mask);
162 GPIO_ClearPinsOutput(pinHandle->
base, pinHandle->
mask);
174 GPIO_TogglePinsOutput(pinHandle->
base, pinHandle->
mask);
186 GPIO_WritePinOutput(pinHandle->
base, pinHandle->
pinNumber, aValue);
198 return GPIO_ReadPinInput(pinHandle->
base, pinHandle->
pinNumber);
209 uint32_t isfr = GPIO_GetPinsInterruptFlags(apBase);
222 handle(isrObj[aPortNumber][i].pUserData);
223 GPIO_ClearPinsInterruptFlags(apBase, (1 << i));
GENERIC_DRIVER_VERSION ksdk_gpio_get_version(void)
The GPIO pin handle for KSDK.
void ksdk_gpio_handle_interrupt(GPIO_Type *apBase, port_number_t aPortNumber)
port_interrupt_t interruptMode
void ksdk_gpio_set_interrupt(GPIO_Type *base, uint32_t mask, uint8_t interruptMode)
The GPIO Configuration KSDK.
enum port_number port_number_t
GPIO PORT NAMES.
void(* gpio_isr_handler_t)(void *apUserData)
ARM_DRIVER_VERSION GENERIC_DRIVER_VERSION
uint32_t ksdk_gpio_read_pin(pinID_t aPinId)
enum gpio_direction_en gpio_direction_t
gpio_pin_config_t pinConfig
void * pinID_t
GPIO Driver direction.
clock_ip_name_t clockName
GENERIC_DRIVER_GPIO Driver_GPIO_KSDK
Access structure of the GPIO Driver.
gpio_isr_handler_t isrHandle
void ksdk_gpio_write_pin(pinID_t aPinId, uint8_t aValue)
void ksdk_gpio_pin_init(pinID_t aPinId, gpio_direction_t dir, void *apPinConfig, gpio_isr_handler_t aIsrHandler, void *apUserData)
void ksdk_gpio_clr_pin(pinID_t aPinId)
#define GPIO_NUMBER_OF_PIN
void ksdk_gpio_toggle_pin(pinID_t aPinId)
void ksdk_gpio_set_pin(pinID_t aPinId)