Error[Pe018]: expected a ")" E:\程序\9.5\main\sd2068.h 21
编程时出现了以下错误,实在是看不明白错误出在哪里,哪位大侠帮忙看下,该如何解决Building configuration: main - Debug
Updating build tree...
avri2c249.c
keyled.c
Error: expected a ")" E:\程序\9.5\main\sd2068.h 21
Error: expected a ")" E:\程序\9.5\main\sd2068.h 22
Error: expected a ")" E:\程序\9.5\main\sd2068.h 29
Error while running C/C++ compiler
main.c
Error: expected a ")" E:\程序\9.5\main\sd2068.h 21
Error: expected a ")" E:\程序\9.5\main\sd2068.h 22
Error: expected a ")" E:\程序\9.5\main\sd2068.h 29
Error while running C/C++ compiler 回复【楼主位】tianyaxtujxlg
-----------------------------------------------------------------------
只有一个sd2068.h时,不会出错,多了几个子程序文件,里面有调用的情况。然后就出现了这种错误,请哪位大侠帮忙解决下,本人不胜感激 估计是哪里多了或少了一个分号,把程序贴上来看看。 回复【2楼】.titrwh 灰机
-----------------------------------------------------------------------
#ifndef _SD2068_H
#define _SD2068_H
#define SET_CLOCK_CLK P4OUT |= BIT4
#define CLR_CLOCK_CLK P4OUT &= ~BIT4
#define SET_CLOCK_DAT P4OUT |= BIT5
#define CLR_CLOCK_DAT P4OUT &= ~BIT5
#define GET_CLOCK_DAT (P4IN & BIT5)
#define ENABLE_CLOCK P4REN |= BIT4|BIT5 //P3OUT |= BIT7,这里可以用来控制是否能对2068进行操作。
#define DISABLE_CLOCK P4REN &= ~(BIT4|BIT5) //P3OUT &= ~BIT7
#define ENABLE_GET_CLOCK_DATA P4DIR &= ~BIT5;P4OUT |= BIT5
#define DISABLE_GET_CLOCK_DATAP4DIR |= BIT5
void I2CStart(void);
void I2CStop(void);
void I2CAck(void);
void I2CNoAck(void);
char I2CWaitAck(void);
void I2CSendByte(unsigned char data);
void I2CReceiveByte(unsigned char *data);
void I2CReadDate(unsigned char *date);
void WriteTimeOn(void);
void WriteTimeOff(void);
void WriteRam_sd2068(unsigned char W_addr,unsigned char *W_Data, char nbyte);
void I2CWriteDate(void);
void WriteDate( unsigned char *time );
void CBCD_CINT(unsigned char C_BCD,unsigned char data);
void BCDdate_INTdate(unsigned char * BCDdate,unsigned char * INTdate);
#endif 回复【2楼】.titrwh 灰机
-----------------------------------------------------------------------
应该不是这个问题,因为同样的子函数我另外在其他地方调用不会出错。
还有一个问题就是出错的这几个地方都是在另外一个中断子函数中调用的,是不是问题出在这里??? 估计你的宏用得不正常 回复【5楼】nazily215
-----------------------------------------------------------------------
问题出在那个
void I2CSendByte(unsigned char data);
void I2CReceiveByte(unsigned char *data);
中的data这个参数名字上,估计是其他地方也用到了这个data,所以导致重复了,我改了这个参数名称程序就正常了 data 在这里是关键字吗?
我知道在一些编译器环境下 data也是关键字。 回复【7楼】Alimy
-----------------------------------------------------------------------
虽然这里的DATA不是关键字,但是应该是混用了,所以才会出现错误,其实我只是该了这个地方,程序就可以正常运行了,但是真正的问题是什么我也没弄清楚,望哪位知情的大侠帮忙解释下 回复【6楼】tianyaxtujxlg
回复【5楼】nazily215
-----------------------------------------------------------------------
问题出在那个
void i2csendbyte(unsigned char data);
void i2creceivebyte(unsigned char *data);
中的data这个参数名字上,估计是其他地方也用到了这个data,所以导致重复了,我改了这个参数名称程序就正常了
-----------------------------------------------------------------------
这个肯定是编译器将data 看作关键字了。所以出错,不是其他地方用到重复问题。
你可以试下将data命名成tempData试下,应该就不会有问题。而且在编译器下,应该能看到data变色的。 回复【9楼】laujc 大海
-----------------------------------------------------------------------
编译器的颜色没有变,因为我把他放到主程序中是可以正常运行的,一旦作为子文件加入到工程就会出上述问题! 今天也遇到了这个问题,也是改了变量名后就行了,小白不知道是不是编译器的问题啊?
页:
[1]