您的位置:首页 > 编程语言

基于OHCI的USB主机 —— UFI读状态代码

2010-05-20 11:37 357 查看
[align=left]/**[/align]
[align=left] * 读取错误原因[/align]
[align=left] * @param *buf 存放读取出来数据的缓冲区[/align]
[align=left] * @return 0 - 成功[/align]
[align=left] */[/align]
[align=left]short ufiRequestSense(BYTE *buf)[/align]
[align=left]{[/align]
[align=left] REQUEST_SENSE *request;[/align]
[align=left] CBW *cbw;[/align]
[align=left] [/align]
[align=left] //设置Bulk-Only协议参数[/align]
[align=left] cbw = &ufiCmdRunning.cbw;[/align]
[align=left] cbw->dCBW_Signature = CBW_SIGNATURE;[/align]
[align=left] cbw->dCBW_Tag = 0x60a624de;[/align]
[align=left] cbw->dCBW_DataXferLen = 0x12;[/align]
[align=left] cbw->bCBW_Flag=0x80;[/align]
[align=left] cbw->bCBW_LUN=0;[/align]
[align=left] cbw->bCBW_CDBLen = 0x0C;//sizeof(CDB_RBC);[/align]
[align=left] [/align]
[align=left] //设置UFI命令参数[/align]
[align=left] request = &(cbw->cdbRBC.ufiRequestSense);[/align]
[align=left] request->OperationCode = 0x03;[/align]
[align=left] request->AllocationLen = 0x12;[/align]
[align=left] [/align]
[align=left] //设置状态扫描函数所需要的参数[/align]
[align=left] ufiCmdRunning.funUfiCmd = bulkRead;[/align]
[align=left] ufiCmdRunning.pBuf = buf;[/align]
[align=left] ufiCmdRunning.state = UFI_STATE_BEGIN;[/align]
[align=left] [/align]
[align=left] //通过Bulk端口发送读命令[/align]
bulkRead((unsigned char *)&ufiCmdRunning.cbw, buf, (unsigned char
*)&ufiCmdRunning.csw);
[align=left] [/align]
[align=left] return 0;[/align]
[align=left]}[/align]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息