求助:ep1无法发送数据
小弟最近在研究用s3c2440+flash开发U盘的功能,usb枚举什么的都已经过了,但当PC发出Inquiry查询时,PC始终收不到回复信息,而我使用的是endpoint1作为输入端点,
所以想请教下各位高手,ep1的使用有什么特殊的吗?为什么我的代码就无法发出数据呢?
switch (pufi->bOpCode)
{
case Inquiry:
if (cbw.bCBWLUN == 0)
{
Ep1TransData(inquiry_ret_usr, sizeof(inquiry_ret_usr));
}
。。。
void Ep1TransData(rt_uint8_t *data, rt_uint32_t size)
{
rt_int32_t i;
rt_uint8_t in_csr1;
INDEX_REG=1;
in_csr1=IN_CSR1_REG;
for(i=0;i<size;i++)
{
ep1Buf=*data;
data++;
}
WrPktEp1(ep1Buf,size);
SET_EP1_IN_PKT_READY();
}
void WrPktEp1(rt_uint8_t *buf, rt_int32_t num)
{
rt_int32_t i;
for(i=0;i<num;i++)
{
EP1_FIFO=buf;
}
}
页:
[1]