参见我的工程E:\vivado_program\ps_to_pl_gpio
该例程是在ZC706开发板上实现的,在vivado中如下所示:
参考ZC706开发板的数据手册,对led的管脚进行约束,数据手册如下图所示:
这里有一个问题,按照数据手册设置LVCOMS25报错,因为在zynq中bank0和bank1中电压设置为1.8V,因此这里改为LVCOMS18,不知道原因!!!!!
在SDK中的软件程序如下所示:
#include <stdio.h> #include "platform.h" #include "xparameters.h" #include "xgpio.h" XGpio gpiooutput; int main() { u32 delay; u32 ledwidth; init_platform(); printf(".........the start.......\n\r"); XGpio_Initialize(&gpiooutput, XPAR_AXI_GPIO_0_DEVICE_ID); XGpio_SetDataDirection(&gpiooutput,1,0x0); XGpio_DiscreteWrite(&gpiooutput,1,0x0); while(1) { for(ledwidth=0x0;ledwidth<4;ledwidth++) { XGpio_DiscreteWrite(&gpiooutput,1,1<<ledwidth); for(delay=0;delay<8000000;delay++); XGpio_DiscreteClear(&gpiooutput,1,1<<ledwidth); } } printf(".........the end.......\n\r"); cleanup_platform(); return 0; }
文章来源: zynq PS控制PL端流水灯