zynq PS控制PL端流水灯

参见我的工程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;
}

猜你喜欢

转载自blog.csdn.net/yanxiaopan/article/details/80692717