19 #define GPIO_DRV_VERSION ARM_DRIVER_VERSION_MAJOR_MINOR(2, 0) 21 #define GPIO_NUMBER_OF_PIN 0x20 56 switch (interruptMode)
59 GPIO_SetLowLevelInterrupt(base, mask);
62 GPIO_SetHighLevelInterrupt(base, mask);
65 GPIO_SetFallingEdgeInterrupt(base, mask);
68 GPIO_SetRisingEdgeInterrupt(base, mask);
74 GPIO_EnableInterrupt(base, mask);
88 if (NULL == apPinConfig)
90 pGpioConfig = &gpioConfigDefault;
91 pGpioConfig->
modeFunc = (IOCON_FUNC0 | IOCON_MODE_PULLUP);
107 EnableIRQ(pinHandle->
irq);
124 GPIO_SetPinsOutput(pinHandle->
base, pinHandle->
mask);
136 GPIO_ClearPinsOutput(pinHandle->
base, pinHandle->
mask);
148 GPIO_TogglePinsOutput(pinHandle->
base, pinHandle->
mask);
160 GPIO_WritePinOutput(pinHandle->
base, pinHandle->
pinNumber, aValue);
172 return GPIO_ReadPinInput(pinHandle->
base, pinHandle->
pinNumber);
183 uint32_t isfr = GPIO_GetPinsInterruptFlags(apBase);
196 handle(isrObj[aPortNumber][i].pUserData);
197 GPIO_ClearPinsInterruptFlags(apBase, (1 << i));
The GPIO Configuration KSDK.
uint32_t ksdk_gpio_read_pin(pinID_t aPinId)
void ksdk_gpio_clr_pin(pinID_t aPinId)
void ksdk_gpio_toggle_pin(pinID_t aPinId)
void(* gpio_isr_handler_t)(void *apUserData)
Access structure of the GPIO Driver.
void * pinID_t
GPIO Driver direction.
void ksdk_gpio_pin_init(pinID_t aPinId, gpio_direction_t dir, void *apPinConfig, gpio_isr_handler_t aIsrHandler, void *apUserData)
The GPIO pin handle for KSDK.
gpio_pin_config_t pinConfig
void ksdk_gpio_write_pin(pinID_t aPinId, uint8_t aValue)
void ksdk_gpio_handle_interrupt(GPIO_Type *apBase, port_number_t aPortNumber)
gpio_isr_handler_t isrHandle
void ksdk_gpio_set_pin(pinID_t aPinId)
port_interrupt_t interruptMode
GENERIC_DRIVER_GPIO Driver_GPIO_KSDK
enum gpio_direction_en gpio_direction_t
ARM_DRIVER_VERSION GENERIC_DRIVER_VERSION
clock_ip_name_t clockName
enum port_number port_number_t
GPIO PORT NAMES.
GENERIC_DRIVER_VERSION ksdk_gpio_get_version(void)
void ksdk_gpio_set_interrupt(GPIO_Type *base, uint32_t mask, uint8_t interruptMode)
#define GPIO_NUMBER_OF_PIN