CH376芯片

主要包含4个C文件和和三个头文件
CH376INC.HCH376HFT.C为u盘主文件
SPI_SW.C 为对硬件操作文件 单片机与SPI接口
FILE_SYS.H与FILE_SYS.C 为ch376接口函数
分别列出
CH376INC.H文件:
/* C Define for CH376        */
/* Website:  wch  */
/* Email:    tech@wch    */
/* Author:  W.ch 2008.10    */
/* V1.0 for CH376            */
#ifndef __CH376INC_H__
#define __CH376INC_H__
#ifdef __cplusplus
extern "C" {
#endif
/* ********************************************************************************************************************* */
/* 常用类型和常量定义 */
#ifndef        TRUE
#define        TRUE    1
#define        FALSE    0
#endif
dasein#ifndef        NULL
#define        NULL    0
#endif
#ifndef UINT8
typedef unsigned char                UINT8;
#endif
胜利电视台
#ifndef UINT16
typedef unsigned short              UINT16;
#endif
#ifndef UINT32
typedef unsigned long                UINT32;
#endif
#ifndef PUINT8
typedef unsigned char              *PUINT8;
#endif
#ifndef PUINT16
typedef unsigned short              *PUINT16;
#endif
#ifndef PUINT32
typedef unsigned long              *PUINT32;
#endif
#ifndef UINT8V
typedef unsigned char volatile      UINT8V;
#endif
#ifndef PUINT8V
typedef unsigned char volatile      *PUINT8V;
#endif
/* ********************************************************************************************************************* */
/* 硬件特性 */
#define    CH376_DAT_BLOCK_LEN    0x40            /* USB单个数据包, 数据块的最大长度, 默认缓冲区的长度 */
/* ********************************************************************************************************************* */
/* 命令代码 */
/* 部分命令兼容CH375芯片, 但是输入数据或者输出数据的可能局部不同) */
/* 一个命令操作顺序包含:
          一个命令码(对于串口方式,命令码之前还需要两个同步码),
          若干个输入数据(可以是0个),
          产生中断通知 或者 若干个输出数据(可以是0个), 二选一, 有中断通知则一定没有输出数据, 有输出数据则一定不产生中断
      仅CMD01_WR_REQ_DATA命令例外, 顺序包含: 一个命令码, 一个输出数据, 若干个输入数据
  命令码起名规则: CMDxy_NAME
      其中的x和y都是数字, x说明最少输入数据个数(字节数), y说明最少输出数据个数(字节数), y如果是H则说明产生中断通知,
      有些命令能够实现0到多个字节的数据块读写, 数据块本身的字节数未包含在上述x或y之内 */
/* 本文件默认会同时提供与CH375芯片命令码兼容的命令码格式(即去掉x和y之后), 如果不需要, 那么可以定义_NO_CH375_COMPATIBLE_禁止 */
/* ********************************************************************************************************************* */
/* 主要命令(手册一), 常用 */
#define    CMD01_GET_IC_VER    0x01            /* 获取芯片及固件版本 */
/* 输出: 版本号( 位7为0, 位6为1, 位5~位0为版本号 ) */
/*          CH376返回版本号的值为041H即版本号为01H */
#define    CMD21_SET_BAUDRATE    0x02            /* 串口方式: 设置串口通讯波特率(上电或者复位后的默认波特率为9600bps,由D4/D5/D6引脚选择) */
/* 输入: 波特率分频系数, 波特率分频常数 */
/* 输出: 操作状态( CMD_RET_SUCCESS或CMD_RET_ABORT, 其它值说明操作未完成 ) */
#define    CMD00_ENTER_SLEEP    0x03            /* 进入睡眠状态 */
#define    CMD00_RESET_ALL        0x05            /* 执行硬件复位 */
#define    CMD11_CHECK_EXIST    0x06            /* 测试通讯接口和工作状态 */
/
* 输入: 任意数据 */
/* 输出: 输入数据的按位取反 */
#define    CMD20_CHK_SUSPEND    0x0B            /* 设备方式: 设置检查USB总线挂起状态的方式 */
/* 输入: 数据10H, 检查方式 */
/*          00H=不检查USB挂起, 04H=以50mS为间隔检查USB挂起, 05H=以10mS为间隔检查USB挂起 */
#define    CMD20_SET_SDO_INT    0x0B            /* SPI接口方式: 设置SPI的SDO引脚的中断方式 */
/* 输入: 数据16H, 中断方式 */
/*          10H=禁止SDO引脚用于中断输出,在SCS片选无效时三态输出禁止, 90H=SDO引脚在SCS片选无效时兼做中断请求输出 */
#define    CMD14_GET_FILE_SIZE    0x0C            /* 主机文件模式: 获取当前文件长度 */
/* 输入: 数据68H */
/* 输出: 当前文件长度(总长度32位,低字节在前) */
#define    CMD50_SET_FILE_SIZE    0x0D            /* 主机文件模式: 设置当前文件长度 */
/* 输入: 数据68H, 当前文件长度(总长度32位,低字节在前) */裂纹检测
#define    CMD11_SET_USB_MODE    0x15            /* 设置USB工作模式 */
/* 输入: 模式代码 */
/*      00H=未启用的设备方式, 01H=已启用的设备方式并且使用外部固件模式(串口不支持), 02H=已启用的设备方式并且使用内置固件模式 */
/*      03H=SD卡主机模式/未启用的主机模式,用于管理和存取SD卡中的文件 */
/*      04H=未启用的主机方式, 05H=已启用的主机方式, 06H=已启用的主机方式并且自动
产生SOF包, 07H=已启用的主机方式并且复位USB总线 */
/* 输出: 操作状态( CMD_RET_SUCCESS或CMD_RET_ABORT, 其它值说明操作未完成 ) */
#define    CMD01_GET_STATUS    0x22            /* 获取中断状态并取消中断请求 */
/* 输出: 中断状态 */
2012中国肿瘤登记年报
#define    CMD00_UNLOCK_USB    0x23            /* 设备方式: 释放当前USB缓冲区 */
#define    CMD01_RD_USB_DATA0    0x27            /* 从当前USB中断的端点缓冲区或者主机端点的接收缓冲区读取数据块 */
/* 输出: 长度, 数据流 */
#define    CMD01_RD_USB_DATA    0x28            /* 设备方式: 从当前USB中断的端点缓冲区读取数据块, 并释放缓冲区, 相当于 CMD01_RD_USB_DATA0 + CMD00_UNLOCK_USB */
/* 输出: 长度, 数据流 */
桥头堡建设#define    CMD10_WR_USB_DATA7    0x2B            /* 设备方式: 向USB端点2的发送缓冲区写入数据块 */
/* 输入: 长度, 数据流 */
#define    CMD10_WR_HOST_DATA    0x2C            /* 向USB主机端点的发送缓冲区写入数据块 */
/* 输入: 长度, 数据流 */
#define    CMD01_WR_REQ_DATA    0x2D            /* 向内部指定缓冲区写入请求的数据块 */
/* 输出: 长度 */
/* 输入: 数据流 */
#define    CMD20_WR_OFS_DATA    0x2E            /* 向内部缓冲区指定偏移地址写入数据块 */
/* 输入: 偏移, 长度, 数据流 */
#define    CMD10_SET_FILE_NAME    0x2F            /* 主机文件模式: 设置将要操作的文件的文件名 */
自动化仪器仪表
/* 输入: 以0结束的字符串(含结束符0在内长度不超过14个字符) */
/* ********************************************************************************************************************* */

本文发布于:2024-09-25 09:31:27,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/164893.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:数据接口类型
标签:数据   命令   输出   方式   长度
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议