[求助]CH341总线方式的API

谁知道CH341总线方式(BUS)的API都有哪些 怎么使用?手册里只有EPP方式和MEM方式的API介绍 急 谢了!!!!!!

发一个当时技术人员发给我的资料:

在并口方式下直接发出命令包即可,自动进入BUS模式。 例子: UCHAR addr, data; ULONG out_len, in_len; UCHAR out_buf[32]; UCHAR in_buf[32];

// WRITE 1 BYTE addr = 0x35; // 指定要读写的I/O地址 data = 0x85; // 指定要写的数据 out_buf[0] = mCH341A_CMD_IO_ADDR; // BUS方式命令码 out_buf[1] = addr | mCH341A_CMD_IO_ADDR_W; out_buf[2] = data; out_len = 3; // 准备输出3个字节 CH341WriteData( index, out_buf, &out_len ); // 向addr写入data

// READ 1 BYTE addr = 0x2D; // 指定要读写的I/O地址 out_buf[0] = mCH341A_CMD_IO_ADDR; // BUS方式命令码 out_buf[1] = addr | mCH341A_CMD_IO_ADDR_R; out_len = 2; // 准备输出2个字节 CH341WriteRead( index, out_len, out_buf, mCH341_PACKET_LENGTH, 1, &in_len, in_buf ); // 从addr读取数据 data = in_buf[0]; // 读出的数据

// WRITE 2 BYTES THEN READ 3 BYTES, 任意组合 out_buf[0] = mCH341A_CMD_IO_ADDR; // BUS方式命令码 out_buf[1] = mCH341A_CMD_IO_ADDR_W | 0x09; // 向09H地址写入数据98H out_buf[2] = 0x98; out_buf[3] = mCH341A_CMD_IO_ADDR_R | 0x12; // 从12H地址读出一个字节,返回在in_buf[0]中 out_buf[4] = mCH341A_CMD_IO_ADDR_W | 0x2A; // 向2AH地址写入数据C4H out_buf[5] = 0xC4; out_buf[6] = mCH341A_CMD_IO_ADDR_R | 0x01; // 从01H地址读出一个字节,返回在in_buf[1]中 out_buf[7] = mCH341A_CMD_IO_ADDR_R | 0x03; // 从03H地址读出一个字节,返回在in_buf[2]中 out_len = 8; // 准备输出8个字节,最大31,多于31可以分为两次 CH341WriteRead( index, out_len, out_buf, mCH341_PACKET_LENGTH, 1, &in_len, in_buf ); // 写入数据并读取数据 data = in_buf[0]; // 从12H地址读出的数据 data = in_buf[1]; // 从01H地址读出的数据 data = in_buf[2]; // 从03H地址读出的数据

只写用CH341WriteData,有写有读用CH341WriteRead(也可以先CH341WriteData再CH341ReadData)

用总线方式需要先选中地址再写数据,确实比较慢,每次读写操作大概在1~2ms左右


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