电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

CH376命令和系统子程序

5页
  • 卖家[上传人]:夏**
  • 文档编号:487517722
  • 上传时间:2023-03-07
  • 文档格式:DOC
  • 文档大小:37.01KB
  • / 5 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、8.4. 快速应用参考步骤请参考例子程序调用已经将多个命令打包后的子程序。以下步骤使用原始命令码,仅供参考。8.4.1. 初始化,进行任何一项文件操作之前的必要步骤 CMD_SET_USB_MODE 命令,进入USB-HOST 工作方式或者SD 卡主机工作方式(模式3) 等待U 盘或者SD 卡连接,U 盘可以由CH376 自动检测并产生中断通知,或者由单片机向CH376 发出CMD_DISK_CONNECT 命令定期查询,SD 卡必须由单片机自行检测 CMD_DISK_MOUNT 命令,初始化U 盘或者SD 卡,并测试磁盘是否就绪,失败后可以重试最多5 次 上述步骤只需执行一次,除非U 盘或者SD 卡断开后重新连接,那么必须回到步骤8.4.2. 顺序读文件 CMD_SET_FILE_NAME 命令+CMD_FILE_OPEN 命令,打开文件 多次CMD_BYTE_READ 命令+CMD_RD_USB_DATA0 命令+CMD_BYTE_RD_GO 命令,读取数据 CMD_FILE_CLOSE 命令,关闭文件,可选操作8.4.3. 顺序改写文件(覆盖原数据,超过原文件长度后转变为追加数据

      2、) CMD_SET_FILE_NAME 命令+CMD_FILE_OPEN 命令,打开文件 多次CMD_BYTE_WRITE 命令+CMD_WR_REQ_DATA 命令+CMD_BYTE_WR_GO 命令,写入数据 CMD_FILE_CLOSE 命令,参数是1,关闭文件并允许自动更新文件长度8.4.4. 向已有文件追加数据CH376 手册(一) CMD_SET_FILE_NAME 命令+CMD_FILE_OPEN 命令,打开文件 CMD_BYTE_LOCATE 命令,参数是0FFFFFFFFH,移动文件指针到文件末尾 多次CMD_BYTE_WRITE 命令+CMD_WR_REQ_DATA 命令+CMD_BYTE_WR_GO 命令,写入数据 CMD_FILE_CLOSE 命令,参数是1,关闭文件并允许自动更新文件长度8.4.5. 新建文件并写入数据 CMD_SET_FILE_NAME 命令+CMD_FILE_CREATE 命令,新建文件 多次CMD_BYTE_WRITE 命令+CMD_WR_REQ_DATA 命令+CMD_BYTE_WR_GO 命令,写入数据 CMD_FILE_CLOSE

      3、命令,参数是1,关闭文件并允许自动更新文件长度8.4.6. 先读文件再改写文件 CMD_SET_FILE_NAME 命令+CMD_FILE_OPEN 命令,打开文件 多次CMD_BYTE_READ 命令+CMD_RD_USB_DATA0 命令+CMD_BYTE_RD_GO 命令,读取数据 CMD_BYTE_LOCATE 命令,参数是0,移动文件指针到文件头部 多次CMD_BYTE_WRITE 命令+CMD_WR_REQ_DATA 命令+CMD_BYTE_WR_GO 命令,写入数据 CMD_FILE_CLOSE 命令,参数是1,关闭文件并允许自动更新文件长度8.4.7. 如果文件已经存在则追加数据,如果文件不存在则新建文件再写入数据 CMD_SET_FILE_NAME 命令+CMD_FILE_OPEN 命令,打开文件,如果返回ERR_MISS_FILE 说明文件不存在,那么转步骤 CMD_BYTE_LOCATE 命令,参数是0FFFFFFFFH,移动文件指针到文件末尾,然后转步骤 CMD_FILE_CREATE 命令,新建文件 多次CMD_BYTE_WRITE 命令+CMD_WR_REQ

      4、_DATA 命令+CMD_BYTE_WR_GO 命令,写入数据 CMD_FILE_CLOSE 命令,参数是1,关闭文件并允许自动更新文件长度8.4.8. 修改文件名、文件日期/时间、文件长度等文件目录信息,请参考有关EXAM10 例子中的说明 CMD_SET_FILE_NAME 命令+CMD_FILE_OPEN 命令,打开文件 CMD_DIR_INFO_READ 命令,参数是0FFH,将文件目录信息读入内存 用CMD_RD_USB_DATA0 命令读出原文件目录信息 CMD_DIR_INFO_READ 命令,参数是0FFH,将文件目录信息读入内存 用CMD_WR_OFS_DATA 命令写入新的文件目录信息 CMD_DIR_INFO_SAVE 命令,保存文件目录信息 CMD_FILE_CLOSE 命令,参数是0,关闭文件并禁止自动更新文件长度,可选操作8.4.9. 创建子目录(文件夹),请参考有关EXAM9 例子中的说明 CMD_SET_FILE_NAME 命令+CMD_DIR_CREATE 命令,新建子目录(文件夹) CMD_FILE_CLOSE 命令,参数是0,关闭文件并禁止自动更新

      5、文件长度8.4.10. 处理小写文件名和长文件名,请参考有关EXAM11 例子中的说明8.4.11. 搜索和枚举文件名,全盘枚举所有文件,请参考有关EXAM13 例子中的说明8.4.12. 主从切换,与计算机通讯,读写U 盘或者SD 卡文件,请参考有关EXAM0 例子中的说明8.5. USB设备应用请参考CH372 芯片的手册CH372DS1.PDF 及其应用资料。CH376芯片 文件系统层 V1.0* 提供文件系统常用子程序,提供命令打包.不使用的子程序可以注释掉,从而节约单片机的程序ROM空间和数据RAM空间./* name 参数是指短文件名, 可以包括根目录符, 但不含有路径分隔符, 总长度不超过1+8+1+3+1字节 */* Path Name 参数是指全路径的短文件名, 包括根目录符、多级子目录及路径分隔符、文件名/目录名 */* Long Name 参数是指长文件名, 以UNICODE小端顺序编码, 以两个0字节结束, 使用长文件名子程序必须先定义全局缓冲区GlobalBuf,长度不小于64字节, 可以与其它子程序共*/* 定义 NO_DEFAULT_CH376_INT 用

      6、于禁止默认的Wait376Interrupt子程序,禁止后,应用程序必须自行定义一个同名子程序 */* 定义 DEF_INT_TIMEOUT 用于设置默认的Wait376Interrupt子程序中的等待中断的超时时间/循环计数值, 0则不检查超时而一直等待 */* 定义 EN_DIR_CREATE 用于提供新建多级子目录的子程序,默认是不提供 */* 定义 EN_DISK_QUERY 用于提供磁盘容量查询和剩余空间查询的子程序,默认提供 */* 定义 EN_SECTOR_ACCESS 用于提供以扇区为单位读写文件的子程序,默认是不提供 */* 定义 EN_LONG_NAME 用于提供支持长文件名的子程序,默认是不提供 */#ifndef_CH376_FS_H_#define _CH376_FS_H_#includePARA.H#defineSTRUCT_OFFSET( s, m )( (UINT8)( & (s *)0) - m ) )/* 定义获取结构成员相对偏移地址的宏 */#ifdefEN_LONG_NAME#ifndefLONG_NAME_BUF_LEN#defineLONG_

      7、NAME_BUF_LEN( LONG_NAME_PER_DIR * 20 )/* 自行定义的长文件名缓冲区长度,最小值为LONG_NAME_PER_DIR*1 */#endif#endifUINT8CH376ReadBlock( PUINT8 buf ); /* 从当前主机端点的接收缓冲区读取数据块,返回长度 */UINT8CH376WriteReqBlock( PUINT8 buf ); /* 向内部指定缓冲区写入请求的数据块,返回长度 */voidCH376WriteHostBlock( PUINT8 buf, UINT8 len ); /* 向USB主机端点的发送缓冲区写入数据块 */voidCH376WriteOfsBlock( PUINT8 buf, UINT8 ofs, UINT8 len ); /* 向内部缓冲区指定偏移地址写入数据块 */voidCH376SetFileName( PUINT8 name ); /* 设置将要操作的文件的文件名 */UINT32CH376Read32bitDat( void ); /* 从CH376芯片读取32位的数据并结束命*/UINT

      8、8CH376ReadVar8( UINT8 var ); /* 读CH376芯片内部的8位变量 */voidCH376WriteVar8( UINT8 var, UINT8 dat ); /* 写CH376芯片内部的8位变量 */UINT32CH376ReadVar32( UINT8 var ); /* 读CH376芯片内部的32位变量 */voidCH376WriteVar32( UINT8 var, UINT32 dat );/* 写CH376芯片内部的32位变量 */voidCH376EndDirInfo( void ); /* 在调用CH376DirInfoRead获取FAT_DIR_INFO结构之后应该通知CH376结束 */UINT32CH376GetFileSize( void ); /* 读取当前文件长度 */UINT8CH376GetDiskStatus( void ); /* 获取磁盘和文件系统的工作状态 */UINT8CH376GetIntStatus( void ); /* 获取中断状态并取消中断请求 */#ifndefNO_DEFAULT_CH376_INTUINT8Wait376Interrupt( void ); /* 等待CH376中断(INT#低电平),返回中断状态码, 超时则返回ERR_USB_UNKNOWN */#endifUINT8CH376SendCmdWaitInt( UINT8 mCmd ); /* 发出命令码后,等待中断 */UINT8CH376SendCmdDatWaitInt( UINT8 mCmd, UINT8 mDat ); /* 发出命令码和一字节数据后,等待中断 */UINT8CH376DiskReqSense( void ); /* 检查USB存储器错误 */UINT8CH376DiskConnect(void);

      《CH376命令和系统子程序》由会员夏**分享,可在线阅读,更多相关《CH376命令和系统子程序》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.