liuy219 发表于 2012-11-19 11:44:30

求助: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]
查看完整版本: 求助:ep1无法发送数据