CH341 windows I2C 编程问题

查看库头文件CH341DLL.H中有如下定义


#define        mCH341A_CMD_I2C_STM_STA    0x74        // I2C接口的命令流:产生起始位
#define        mCH341A_CMD_I2C_STM_STO    0x75        // I2C接口的命令流:产生停止位
#define        mCH341A_CMD_I2C_STM_OUT    0x80        // I2C接口的命令流:输出数据,位5-位0为长度,后续字节为数据,0长度则只发送一个字节并返回应答
#define        mCH341A_CMD_I2C_STM_IN    0xC0        // I2C接口的命令流:输入数据,位5-位0为长度,0长度则只接收一个字节并发送无应答
#define        mCH341A_CMD_I2C_STM_MAX    ( min( 0x3F, mCH341_PACKET_LENGTH ) )    // I2C接口的命令流单个命令输入输出数据的最大长度
#define        mCH341A_CMD_I2C_STM_SET    0x60        // I2C接口的命令流:设置参数,位2=SPI的I/O数(0=单入单出,1=双入双出),位1位0=I2C速度(00=低速,01=标准,10=快速,11=高速)
#define        mCH341A_CMD_I2C_STM_US    0x40        // I2C接口的命令流:以微秒为单位延时,位3-位0为延时值
#define        mCH341A_CMD_I2C_STM_MS    0x50        // I2C接口的命令流:以亳秒为单位延时,位3-位0为延时值
#define        mCH341A_CMD_I2C_STM_DLY    0x0F        // I2C接口的命令流单个命令延时的最大值
#define        mCH341A_CMD_I2C_STM_END    0x00        // I2C接口的命令流:命令包提前结束


以及I2C相关函数


BOOL    WINAPI    CH341ReadI2C(  // 从I2C接口读取一个字节数据
    ULONG            iIndex,  // 指定CH341设备序号
    UCHAR            iDevice,  // 低7位指定I2C设备地址
    UCHAR            iAddr,  // 指定数据单元的地址
    PUCHAR            oByte );  // 指向一个字节单元,用于保存读取的字节数据


BOOL    WINAPI    CH341WriteI2C(  // 向I2C接口写入一个字节数据
    ULONG            iIndex,  // 指定CH341设备序号
    UCHAR            iDevice,  // 低7位指定I2C设备地址
    UCHAR            iAddr,  // 指定数据单元的地址
    UCHAR            iByte );  // 待写入的字节数据


不知如何使用,求解!

在下想自己写一个利用 CH341调试单片机I2C从机的 上位机程序!需要使用I2C中的具体功能指令如 起始命令,停止命令,应答等等。等待高手指点,

您好,CH341DLL中所提供的I2C读写功能,在相关API执行时,会自动产生I2C总线所需要的起始、停止等信号。具体您可以通过示波器或逻辑分析仪查看时序过程。资料包可从如下链接下载:http://www.wch.cn/downloads/CH341EVT_ZIP.html 


只有登录才能回复,可以选择微信账号登录