Beispiel #1
0
        //发送按钮点击事件处理函数
        unsafe private void button_Send_Click(object sender, EventArgs e)
        {
            if (mIsOpen == 0)
            {
                return;
            }

            VCI_CAN_OBJ sendobj = new VCI_CAN_OBJ();

            //sendobj.Init();
            sendobj.SendType   = (byte)comboBox_SendType.SelectedIndex;
            sendobj.RemoteFlag = (byte)comboBox_FrameFormat.SelectedIndex;
            sendobj.ExternFlag = (byte)comboBox_FrameType.SelectedIndex;
            sendobj.ID         = System.Convert.ToUInt32("0x" + textBox_ID.Text, 16);
            int len = (textBox_Data.Text.Length + 1) / 3;

            sendobj.DataLen = System.Convert.ToByte(len);
            String strdata = textBox_Data.Text;

            for (int i = 0; i < len; i++)
            {
                if (i >= 8)
                {
                    break;
                }

                sendobj.Data[i] = System.Convert.ToByte("0x" + strdata.Substring(i * 3, 2), 16);
            }

            if (DllAdapte.VCI_Transmit(mDevType, mDevInd, mCanInd, ref sendobj, 1) == 0)
            {
                MessageBox.Show("发送失败", "错误",
                                MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }
Beispiel #2
0
        //发送升级数据
        unsafe private void SendUpData(string id, string data)
        {
            uint        canId   = 0;
            VCI_CAN_OBJ sendobj = new VCI_CAN_OBJ();

            //sendobj.Init();
            sendobj.SendType   = (byte)comboBox_SendType.SelectedIndex;
            sendobj.RemoteFlag = (byte)comboBox_FrameFormat.SelectedIndex;
            sendobj.ExternFlag = (byte)comboBox_FrameType.SelectedIndex;
            sendobj.ID         = System.Convert.ToUInt32("0x" + id, 16);
            int len = (data.Length + 1) / 3;

            sendobj.DataLen = System.Convert.ToByte(len);
            String strdata = data;

            Byte dat = (Byte)0;

            for (int i = 0; i < len; i++)
            {
                if (i >= 8)
                {
                    break;
                }

                dat             = System.Convert.ToByte("0x" + strdata.Substring(i * 3, 2), 16);
                sendobj.Data[i] = dat;
            }

            sendListBox.Items.Add("报文ID: 0x" + id + "  发送数据: " + data + "    发送帧数: " + mSendFrameNum.ToString("X4"));
            sendListBox.SelectedIndex = sendListBox.Items.Count - 1;

            if (DllAdapte.VCI_Transmit(mDevType, mDevInd, canId, ref sendobj, 1) != 1)
            {
                sendListBox.Items.Add("发送失败");
            }
        }