使用java调用ch341dll,传的参数遇到问题

我使用的是ch341转spi和iic那个,我在写java调用dll的时候:

步骤:

CH341OpenDevice
CH341SetStream//这两步都没问题
String str = "1111";
invoke("CH341StreamSPI4",Integer.class,0,0x80,2,str)在这一步调用CH341StreamSPI4这个函数的时候,我spi收到的数据是0x80,其中str传的是一个字符串,收到的不一致.
我看你们dll.h给的是一个pvoid类型的参数,我传str的地址给他报错:非法内存访问.


java调用ch341dll来控spi收发 要传的参数为:

(String ioBuffer){
    String str = ;
    i = str.hashCode();
    Pointer t = Pointer.(i);
   PointerByReference pointerByReference = PointerByReference(t);
   [] ioBuffer1 = {Integer.(ioBuffer,)};


    (,Integer.,,,ioBuffer.length()/,ioBuffer1);
}

可以是一个int数组,其他的传指针啥的不行,会内存访问错误


特地来回复一下


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