package com.swtd.test;import org.xvolks.jnative.exceptions.NativeException;
import org.xvolks.jnative.misc.basicStructures.AbstractBasicData;
import org.xvolks.jnative.misc.basicStructures.LONG;
import org.xvolks.jnative.pointers.Pointer;
import org.xvolks.jnative.pointers.memory.MemoryBlockFactory;public class PORT_STRUCT  extends AbstractBasicData{ /*typedef struct _tagPORT_STRUCT
{
int mode; // 0 for 11-bit; 1 for 29-
bit
DWORD accCode, accMask;
int baudrate;
BYTE brp, tseg1, tseg2;// Reserved
BYTE sjw, sam; // Reserved
}PORT_STRUCT;
*/  public int mode;
  public LONG accCode;
  public LONG accMask;
  public int rate;
  public byte brp;
  public  byte tseg1;
  public byte tseg2;// Reserved
  public byte sjw;
  public byte sam; // Reserved
  
    public Pointer createPointer() throws NativeException {
        pointer = new Pointer( MemoryBlockFactory.createMemoryBlock(getSizeOf()));
        return pointer;
}
public PORT_STRUCT() throws NativeException {
super(null);
createPointer();
}
    public int getSizeOf() {
        return 21;
    }
    public PORT_STRUCT getValueFromPointer() throws NativeException {
        mode = this.getNextInt();
        accCode = new LONG((int)getNextLong());
        accMask = new LONG((int)getNextLong());
        rate  = getNextInt();
        brp   = getNextByte();
        tseg1 = getNextByte();
        tseg2 = getNextByte();
        sjw   = getNextByte();
        sam   = getNextByte();
        return this;
    }
    
    public void setMode(int vmode) throws NativeException{
     mode = vmode;
     pointer.setIntAt(0,mode);
    }
    public void setAccCode(LONG v) throws NativeException{
     accCode = v;
     pointer.setLongAt(4,v.getValue());
    }
    public void setAccMask(LONG v) throws NativeException{
     accMask = v;
     pointer.setLongAt(8,v.getValue());
    }
    public void setRate(int v) throws NativeException{
     rate = v;
     pointer.setIntAt(12,v);
    }
    public void setBRP(byte v) throws NativeException{
     brp = v;
     pointer.setByteAt(16,v);
    }
    public void setTSeg1(byte v) throws NativeException{
     tseg1 = v;
     pointer.setByteAt(17,v);
    }
    public void setTSeg2(byte v) throws NativeException{
     tseg2 = v;
     pointer.setByteAt(18,v);
    }
    public void setSJW(byte v) throws NativeException{
     sjw = v;
     pointer.setByteAt(19,v);
    }
    public void setSAM(byte v) throws NativeException{
     sam = v;
     pointer.setByteAt(20,v);
    }}
----------------
指针好像有问题,在程序中无法被调用。
谢谢~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【gatewuhua】截止到2008-08-02 00:23:54的历史汇总数据(不包括此帖):
    发帖的总数量:0                        发帖的总分数:0                        每贴平均分数:0                        
    回帖的总数量:0                        得分贴总数量:0                        回帖的得分率:0%                       
    结贴的总数量:0                        结贴的总分数:0                        
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:---------------------结分的百分比:---------------------
    无满意结贴率:---------------------无满意结分率:---------------------
    如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html

    取消马甲机器人,请点这里:http://www.java2000.net/mycsdn/robotStop.jsp?usern=gatewuhua