[求助]关于ch341操作I2c总线连续读写的问题

使用ch341的usb转i2c的功能,CH341ReadI2C,用于读写一个字节,现在想实现连续读的功能,而提供的函数CH341ReadEEPROM,并不能实现所要的操作(也许是没有用好) 同时根据evb中exam.c的提示,实验了其他几种方法,比如:CH341StreamI2C,CH341WriteData,都无法实现。 还曾根据eeprom的读写时需利用IIC_IssueStart等函数模拟读写步骤,可以实现写操作功能,但没有实现读操作功能,

希望高手或技术支持能够提供相应的帮助。解决顺序读取的问题:比如读取A4地址上0x10~0x20的数据

BOOL WINAPI CH341ReadEEPROM( // 从EEPROM中读取数据块,速度约56K字节 ULONG iIndex, // 指定CH341设备序号 EEPROM_TYPE iEepromID, // 指定EEPROM型号 ULONG iAddr, // 指定数据单元的地址 ULONG iLength, // 准备读取的数据字节数 PUCHAR oBuffer ); // 指向一个缓冲区,返回后是读入的数据 CH341ReadEEPROM( iIndex,etype(m_eepsel),0xa4,16,buffer_edit_read)

//======================根据单选按纽,选择E2P器件型号 _EEPROM_TYPE etype(int EppSelId) { _EEPROM_TYPE iEepromID; switch(EppSelId) { case 0: iEepromID=ID_24C01; break; case 1: iEepromID=ID_24C02; break; case 2: iEepromID=ID_24C04; break; case 3: iEepromID=ID_24C08; break; case 4: iEepromID=ID_24C16; break; default: iEepromID=ID_24C02; break; } return(iEepromID); } 你可以试试


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