zeropower 发表于 2009-2-13 18:09:41

USB库中的不明何用的语句, 望高手指教~~~~

下面是USB库的SCSI的其中一个功能函数: 
 
void SCSI_ReadCapacity10_Cmd(u8 lun)
{
  if (MAL_GetStatus(lun))
  {
    Set_Scsi_Sense_Data(CBW.bLUN, NOT_READY, MEDIUM_NOT_PRESENT);
    Set_CSW (CSW_CMD_FAILED, SEND_CSW_ENABLE); -------------------------(1)
    Bot_Abort(DIR_IN); --------------------------------------------------------------(2)
    return;
  }
  ReadCapacity10_Data = (u8)(Mass_Block_Count - 1 >> 24);
  ReadCapacity10_Data = (u8)(Mass_Block_Count - 1 >> 16);
  ReadCapacity10_Data = (u8)(Mass_Block_Count - 1 >>  8);
  ReadCapacity10_Data = (u8)(Mass_Block_Count - 1);
  ReadCapacity10_Data = (u8)(Mass_Block_Size >>  24);
  ReadCapacity10_Data = (u8)(Mass_Block_Size >>  16);
  ReadCapacity10_Data = (u8)(Mass_Block_Size >>  8);
  ReadCapacity10_Data = (u8)(Mass_Block_Size);
  Transfer_Data_Request(ReadCapacity10_Data, READ_CAPACITY10_DATA_LEN);
}
 
上面红色部分,(1)句发送CSW, (2)句就立刻中止In端口, 这里到底是想发送还是不发送???????
如果是想发送, 那这里就是BUG;
如果是不想发送, 为什么不直接用Set_CSW (CSW_CMD_FAILED, SEND_CSW_DISABLE); 呢????
页: [1]
查看完整版本: USB库中的不明何用的语句, 望高手指教~~~~