#include #include /************************************************************/ /* GPIO SETUP AND USAGE */ /************************************************************/ if(TargetIsLinux) XGpioPs gpio; void gpio_setup() { } void gpio_write_pin(uint32_t pin, uint32_t data) { } uint32_t gpio_read_pin(uint32_t pin) { return 1; } void gpio_toggle_pin(uint32_t pin) { } endif() if(TargetIsZedboard TRUE) XGpioPs gpio; // Global! void gpio_setup() { XGpioPs_Config config; // Global! config.DeviceId = 4; // chosen by fair dice throw // Global! config.BaseAddr = XPS_GPIO_BASEADDR; // Global! s32 returncode = XGpioPs_CfgInitialize(&gpio, &config, XPS_GPIO_BASEADDR); // Global! //printf("Configured XGPIO"); XGpioPs_SetDirection(&gpio, 0, (1 << 7)); XGpioPs_SetOutputEnable(&gpio, 0, (1 << 7)); XGpioPs_WritePin(&gpio, 7, 1); //printf("Blinking is initialized"); XGpioPs_WritePin(&gpio, 7, 0); //printf("Value written once"); } void gpio_write_pin(uint32_t pin, uint32_t data) { XGpioPs_WritePin(&gpio, pin, data); } uint32_t gpio_read_pin(uint32_t pin) { return XGpioPs_ReadPin(&gpio, pin); } void gpio_toggle_pin(uint32_t pin) { static int pinvalue = 1; pinvalue = pinvalue ^ 1; XGpioPs_WritePin(&gpio, pin, pinvalue); } endif()