| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 
 | ....
[ComVisible(true)]
 public unsafe class Class1
    {
 
      [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
       public  struct tCANMsg
        {
            // [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
            public  uint m_dwID;     // CAN identifier
            public uint m_bMsgType; // CAN message type
            public uint m_bLen;     // CAN data length code
           [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
            public uint[] m_bData; // CAN data
            //
        }
 
 
   [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
   public struct EthCanInstance
        {
            public uint m_dwHandle;
            public tEthCanHwParam m_EthCanHwParam;
            public tConnectionState m_ConnectionState;
            public tConnectionState m_LastConnectionState;
            public uint m_dwLastCanStatus;
            public bool m_fIsConnected;
            public uint m_dwCounter;
            public tCANMsg m_CANMsgSend;
            public tCANMsg m_CANMsgRecv;
            public uint m_fReceived;
 
        }
 
 
 public static EthCanInstance[] EthCanInst_g = new EthCanInstance[1];
 
   unsafe void  read() {
 
            uint dwReadRet;
            EthCanInst_g[0].m_CANMsgSend.m_bData = new  uint[8];
            tCANTimestamp TimeStamp;
            TimeStamp.m_dwMilliSec = (uint)Environment.TickCount;
            TimeStamp.m_wMicroSec = 0;
            TimeStamp.m_wMilliSec_Overflow = 0;
            EthCanInst_g[0].m_CANMsgSend.m_bMsgType = 0x0;
            EthCanInst_g[0].m_CANMsgSend.m_dwID = 0x204;
            EthCanInst_g[0].m_CANMsgSend.m_bLen = 0x3;
            EthCanInst_g[0].m_CANMsgSend.m_bData[0] = 0x57;
            EthCanInst_g[0].m_CANMsgSend.m_bData[1] = 0x2;
            EthCanInst_g[0].m_CANMsgSend.m_bData[2] = 0x0;
            EthCanInst_g[0].m_CANMsgSend.m_bData[3] = 0x0;
            EthCanInst_g[0].m_CANMsgSend.m_bData[4] = 0x0;
            EthCanInst_g[0].m_CANMsgSend.m_bData[5] = 0x0;
            EthCanInst_g[0].m_CANMsgSend.m_bData[6] = 0x0;
            EthCanInst_g[0].m_CANMsgSend.m_bData[7] = 0x0;
            //Write the CAN message into the transmit queue       
            dwReadRet = EthCanWriteCanMsg(EthCanInst_g[0].m_dwHandle, ref EthCanInst_g[0].m_CANMsgSend, ref TimeStamp);
 
 
        }
...
.. | 
Partager