求助下! 为什么出现expected ')' before '! ' token这个错误啊!

时间:2022-07-20 04:51:43
代码我贴在这里 麻烦大神解答下!万分感谢
求助下! 为什么出现expected ')' before '! ' token这个错误啊!
#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;
}

5 个解决方案

#1


 ! =不等于中间该没空格吧

#2


这个编译错误自己检查撒

#3


这样的问题最好自己先定位,同时在这个过程中积累自己的经验从而避免以后再犯此类错误。

#4


偶遇到类似问题都是用
“每次用/*...*/注释掉不同部分再重新编译,直到定位到具体语法出错的位置。”
的方法解决的。

#5


检查有没有中文标点

#1


 ! =不等于中间该没空格吧

#2


这个编译错误自己检查撒

#3


这样的问题最好自己先定位,同时在这个过程中积累自己的经验从而避免以后再犯此类错误。

#4


偶遇到类似问题都是用
“每次用/*...*/注释掉不同部分再重新编译,直到定位到具体语法出错的位置。”
的方法解决的。

#5


检查有没有中文标点