CH341StreamI2C使用请教

这个方法调用前先要调用CH341OpenDevice,使用后再调用CH341CloseDevice吗? 我使用Java调用这三个方法,示波器没信号,不知为何?那里理解错了? 附我的Java代码: public class SerTest {

public static void main(String[] args) { try { JNative init = new JNative("CH341DLL.dll", "CH341OpenDevice"); init.setRetVal(Type.INT); init.setParameter(0, Type.INT,""+0); init.invoke(); System.out.println(init.getRetVal()); JNative j2 = new JNative("CH341DLL.dll", "CH341StreamI2C"); int i=0; j2.setParameter(++i,Type.INT,""+ 0); j2.setParameter(++i,Type.INT, ""+2); Pointer p1 =new Pointer( MemoryBlockFactory.createMemoryBlock(2)); Pointer p2 =new Pointer( MemoryBlockFactory.createMemoryBlock(2));

p1.setByteAt(0,(byte)1); p1.setByteAt(1,(byte) 0); j2.setParameter(++i, p1); j2.setParameter(++i,Type.INT, ""+2); j2.setParameter(++i, p2); j2.setRetVal(Type.INT); j2.invoke(); byte b[]={p2.getAsByte(0),p2.getAsByte(1)}; for(int jj=0;jj System.out.println("b"+b[jj]+" "+j2.getRetVal()); JNative end = new JNative("CH341DLL.dll", "CH341CloseDevice"); end.setRetVal(Type.INT); end.setParameter(0, Type.INT,""+0); end.invoke(); } catch (Exception e) { e.printStackTrace(); } }

}

在调用CH341StreamI2C前必须先打开设备CH341OpenDevice。 操作流程如下: 1-安装设备驱动ch341par.exe 2-打开设备CH341OpenDevice 产生i2c时序CH341StreamI2C 关闭设备CH341CloseDevice 请问你测试的时钟信号还是数据信号啊?


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