/**
 * 磁盘查询命令
 * @param *buf 数据缓冲区指针
 * @return 0 - 成功
 */
short ufiInquiry(BYTE *buf)
{
    INQUIRY_SPC *inquiry;
    CBW *cbw;
    //设置Bulk-Only协议参数
    cbw = &ufiCmdRunning.cbw;
    cbw->dCBW_Signature = CBW_SIGNATURE;
    cbw->dCBW_Tag = 0x60a624de;
    cbw->dCBW_DataXferLen = 0x24;
    cbw->bCBW_Flag=0x80;
    cbw->bCBW_LUN=0;
    cbw->bCBW_CDBLen = 6;//sizeof(CDB_RBC);
    //设置UFI命令参数
    inquiry = &(cbw->cdbRBC.ufiInquiry);
    inquiry->OperationCode = 0x12;
    inquiry->Lun = 0x0;
    inquiry->PageCode = 0x0;
    inquiry->Reserved1 = 0;
    inquiry->AllocationLen = 0x24;
    //设置状态扫描函数所需要的参数
    ufiCmdRunning.funUfiCmd = bulkRead;
    ufiCmdRunning.pBuf = buf;
    ufiCmdRunning.state = UFI_STATE_BEGIN;
    //通过Bulk端口发送读命令
    bulkRead((unsigned char *)&ufiCmdRunning.cbw, buf, (unsigned char *)&ufiCmdRunning.csw);
    return 0;
}

转载于:https://blog.51cto.com/lancelot/314110

基于OHCI的USB主机 —— UFI查询代码相关推荐

  1. 基于OHCI的USB主机——UFI查询命令(Inquiry)

    查询命令(INQUIRY)请求获取UFI设备参数的信息.他被用作主机上的驱动器访问FUI设备的配置,特别是在接通电源和硬件复位之后使用.命令内容如下表:  位 字节 7 6 5 4 3 2 1 0 0 ...

  2. 基于OHCI的USB主机 —— UFI命令 USB Mass Storage Class Bulk-Only Transport协议介绍

    USB Mass Storage Class Bulk-Only Transport Microsoft公司至Windows98后,USB主机 都支持Bulk-Only标准,所以现在的大容量存储类设备 ...

  3. 基于OHCI的USB主机 —— UFI命令监视代码

    在调用完上面的UFI命令后,ufiCmdRunning.state就被设置为UFI_STATE_BEGIN态,在主循环中调用本函数,用来判断UFI命令是否执行完毕,以及是否执行成功. /**  * U ...

  4. 基于OHCI的USB主机 —— UFI读容量代码

    /**  * 读磁盘容量命令  * @param *buf 数据缓冲区指针  * @return 0 - 成功  */ short ufiReadCapacity(BYTE *buf) {     R ...

  5. 基于OHCI的USB主机 —— UFI写扇区代码

    /**  * 写磁盘扇区命令  * @param sect 物理扇区号  * @param *buf 数据缓冲区指针  * @return 0 - 成功  */ short ufiWriteSect( ...

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

    /**  * 读取错误原因  * @param *buf 存放读取出来数据的缓冲区  * @return 0 - 成功  */ short ufiRequestSense(BYTE *buf) {   ...

  7. 基于OHCI的USB主机——UFI读扇区命令(Read10)

    读命令要求UFI设备传输数据到主机,记录在逻辑块地址的最新数据值将被返回,命令格式如下表:  位 字节 7 6 5 4 3 2 1 0 0 操作代码(0x28) 1 逻辑单元号(LUN) DPO FU ...

  8. 基于OHCI的USB主机 —— UFI数据结构2

    UFI命令块 /**  * UFI命令块  */ typedef union _CDB_RBC {     READ_10             ufiRead10;           //!&l ...

  9. 基于OHCI的USB主机 —— UFI数据结构1

    根据上面的介绍,定义相应命令的数据结构如下: 查询(Inquiry) /** * Inquiry命令数据结构 */ typedefstruct _INQUIRY_SPC { UINT8Operatio ...

最新文章

  1. .md 文件的格式:写出好看的笔记
  2. linux安装多版本php_Linux系统下为Nginx安装多版本PHP
  3. 【附段错误原因,最后两个测试点】1052 Linked List Sorting (25 分)【链表类题目总结】
  4. SQL脚本文件的部署研究
  5. 案例 TreeView动态控制节点 c# 1614264758
  6. JDK的bin目录下所有程序的使用介绍
  7. android中屏保功能项目,【Android】一段时间不操作弹出【屏保】效果
  8. Each interface on the back of the fuselage
  9. UNP(2rd)第二卷源码编译
  10. keras训练cifar10数据集源代码
  11. python爬取喜马拉雅vip音频安卓_Python爬虫:爬取喜马拉雅音频数据详解
  12. MAVEN专题之十、设计你自己的maven插件【高手必备】
  13. 我的Java传承名单(不知为何以前的又没有了,幸亏有备份才可以又贴出来)
  14. [luogu] CF128A Statues dfs
  15. 详细教程-阿里网盘部署本机
  16. 英语foteball足球
  17. python字典第一个元素_如何获取python字典中的第一个值
  18. 儿时的小游戏:象狮虎豹狼狗猫鼠
  19. 图中最深的根 (25分)
  20. 什么是ARM TCM内存

热门文章

  1. Ptsn多用处软件APP源码-可当图文或壁纸等多种软件
  2. EMLOG复制网站文字提醒弹窗源码美化版
  3. FCKeidtor的toolbarset的设置
  4. CyberArticle和Live Writer的比较
  5. 确保PHP安全 不能违反的四条安全规则
  6. Gamma分布和逆Gamma分布
  7. 全排列及相关扩展算法(七)——组合数的字典序(另含全章代码整理)
  8. SLAM大神总结(转载)
  9. LeetCode 717. 1-bit and 2-bit Characters
  10. Shell——printf 命令