代码我贴在这里 麻烦大神解答下!万分感谢
#include <stdio.h>
#include "platform.h"
#include "axi_pwm.h"
#include "xparameters.h"
#include "xgpio.h"
#include "xil_printf.h"
//void print(char *str);
#define GPIO_BITWIDTH 8
#define GPIO_DEVICE_ID XPAR_AXI_GPIO_0_DEVICE_ID//device ID
#define LED_DELAY 10000000
#define LED_MAX_BLINK 0x1
#define LED_CHANNEL 1
#define printf xil_printf
#define PWM_BASEADDR XPAR_AXI_PWM_0_S00_AXI_BASEADDR
XGpio Gpio;
XGpio GpioOutput;
int GpioMarquee (u16 DeviceId, u32 GpioWidth)
{
volatile int Delay;
u32 LedBit;
u32 LedLoop;
int Status;
Status = XGpio_Initialize(&GpioOutput, DeviceId);
if (Status ! = XST_SUCCESS) //就是在这里 提示有错!
{
return XST_FAILURE;
}
XGpio_SetDataDirection(&GpioOutput, LED_CHANNEL, 0x0);
XGpio_DiscreteWrite(&GpioOutput, LED_CHANNEL, 0x0);
for (LedBit = 0x0; LedBit < GpioWidth; LedBit ++){
for(LedLoop = 0; LedLoop < LED_MAX_BLINK; LedLoop ++){
XGpio_DiscreteWrite(&GpioOutput,LED_CHANNEL,
1 << LedBit);
for (Delay = 0; Delay < LED_DELAY; Delay ++);
XGpio_DiscreteClear(&GpioOutput, LED_CHANNEL,
1 << LedBit);
for (Delay = 0; Delay < LED_DELAY; Delay ++);
}
}
return XST_SUCCESS;
}
int main()
{
init_platform();
print("Hello World\n\r");
AXI_PWM_mWriteReg(PWM_BASEADDR,
AXI_PWM_S00_AXI_SLV_REG0_OFFSET,10000);
AXI_PWM_mWriteReg(PWM_BASEADDR,
AXI_PWM_S00_AXI_SLV_REG1_OFFSET, 0x80000000 + 5000);
u32 status;
status = GpioMarquee (GPIO_DEVICE_ID,GPIO_BITWIDTH);
if (status == 0)print("SUCESS!.\r\n");
else printf("FAILED.\r\n");
return 0;
}