是在一本书上的例子,在Keil中编译出错.是在一个宏定义中,具体是这样的: #include<stdio.h> #include<REG51.H> #define TxDATA (unsigned xdata char*)1000H //? void initial(void); unsigned xdata char *p; int i=0;
/*****主函数 发送第一个字节,以便产生发送中断**/ main() { initial(); p=TxDATA; //? ACC=p[0]; SBUF=ACC; //发送第一个字节 while(1); //等待 }
void initial(void) {.......} void Rcv_INT(void) interrupt 4 {...... } 在宏展开的那句,也就是 p=TxDATA; 出错. 我不知道(unsigned xdata char*)1000H 是什么意思,好像是要代表数组的地址?! 但我在书上没有找到这样的定义方法,那么该怎么定义才正确呢? .....还有这句也出错:unsigned xdata char *p; 改成:unsigned char xdata *p; 是不是对的?
|