你们给了我一个例程做实验,在编译过程中发现头文件里缺少了2个命令的定义: "CH375EX.C", line 178: error: identifier "CMD_RD_USB_Edata" is undefined "CH375EX.C", line 192: error: identifier "CMD_WR_USB_Edata7" is undefined
不知道你的程序在哪里出现这个变量?因为我看了给你发的邮件中的源代码,并没有找到使用这两个命令定义.而且,头文件中是没有这两个命令.正确的命令代码:CMD_WR_USB_DATA7,CMD_RD_USB_DATA,你可以将这两个命令代码修改下.
以下是用到这两个指令的函数。我了解了,多谢 /**********************************************************************************************/ /* 函数功能:从CH375的数据端口读出数据块 函数入口:数据缓冲区地址 函数出口:读出的数据块的数据长度 */ /**********************************************************************************************/
unsigned int Rd_USB_Edata( unsigned int *buf ) { unsigned int i, len; CH375_WR_CMD( CMD_RD_USB_Edata ); // 从CH375的端点缓冲区读取接收到的数据 len=CH375_RD_DAT(); // 后续数据长度 for ( i=0; i!=len; i++ ) *buf++=CH375_RD_DAT(); return( len ); } /**********************************************************************************************/ /* 函数功能:从CH375的数据端口写入数据块 函数入口:数据缓冲区地址,数据长度 函数出口:无 */ /**********************************************************************************************/
void Wr_USB_Edata( unsigned int len, unsigned int *buf ) { CH375_WR_CMD( CMD_WR_USB_Edata7 ); // 向CH375的端点缓冲区写入准备发送的数据 CH375_WR_DAT( len ); // 后续数据长度, len不能大于64 while( len-- ) CH375_WR_DAT( *buf++ ); }
CMD_RD_USB_Edata7怎么搞成这个样子了.你看一下头文件中怎么定义的,这个错误很明显. 应该是CMD_WR_USB_DATA7,CMD_RD_USB_DATA7
我在源文件了找了找,也没有。很奇怪,我不记的有修改。很不好意思。呵呵~麻烦了。