void ORILIB_gpio_output_control( Uint8 bank, Uint8 pin, Uint8 offOnToggle ){ CSL_GpioHandle gpio; Uint8 gpioData; gpio = CSL_GPIO_open(bank); CSL_GPIO_setPinDirOutput(gpio, pin); switch (offOnToggle) { case 0: CSL_GPIO_clearOutputData(gpio, pin); break; case 1: CSL_GPIO_setOutputData(gpio, pin); break; default: CSL_GPIO_getOutputData(gpio, pin, &gpioData); gpioData ^= 1; if (gpioData) CSL_GPIO_setOutputData(gpio, pin); else CSL_GPIO_clearOutputData(gpio, pin); break; } }
/****************************************************************************** * * Function: gpioSetDirection * * Description: This function configures the specified GPIO's direction * * Parameters: uiNumber - GPIO number to configure * direction - GPIO_OUT or GPIO_IN * * Return Value: void * *****************************************************************************/ void gpioSetDirection(uint32_t uiNumber, GpioDirection direction) { CSL_GpioHandle hGpio; // Open the CSL GPIO Module 0 hGpio = CSL_GPIO_open(0); if (direction == GPIO_OUT) { CSL_GPIO_setPinDirOutput(hGpio, uiNumber); // Set to OUTPUT } else { CSL_GPIO_setPinDirInput(hGpio, uiNumber); // Set to INPUT } }