C# button点击button按钮就发送一个消息,设置循环,让这个消息每隔100ms就发送一次,不断循环发送。
unsafeprivatevoidbutton_Send_Click(objectsender,EventArgse){if(m_bOpen==0)return;VCI_...
unsafe private void button_Send_Click(object sender, EventArgs e)
{
if(m_bOpen==0)
return;
VCI_CAN_OBJ sendobj = new VCI_CAN_OBJ();
//sendobj.Init();
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;
int i=-1;
if(i++<len-1)
sendobj.Data[0]=System.Convert.ToByte("0x" +strdata.Substring(i * 3, 2),16);
if (i++ < len - 1)
sendobj.Data[1]=System.Convert.ToByte("0x" +strdata.Substring(i * 3, 2),16);
if (i++ < len - 1)
sendobj.Data[2]=System.Convert.ToByte("0x" +strdata.Substring(i * 3, 2),16);
if (i++ < len - 1)
sendobj.Data[3]=System.Convert.ToByte("0x" +strdata.Substring(i * 3, 2),16);
if (i++ < len - 1)
sendobj.Data[4]=System.Convert.ToByte("0x" +strdata.Substring(i * 3, 2),16);
if (i++ < len - 1)
sendobj.Data[5]=System.Convert.ToByte("0x" +strdata.Substring(i * 3, 2),16);
if (i++ < len - 1)
sendobj.Data[6]=System.Convert.ToByte("0x" +strdata.Substring(i * 3, 2),16);
if (i++ < len - 1)
sendobj.Data[7] = System.Convert.ToByte("0x" + strdata.Substring(i * 3, 2), 16);
if(VCI_Transmit(m_devtype,m_devind,m_canind,ref sendobj,1)==0)
{
MessageBox.Show("发送失败", "错误",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
}
以上代码就是一段发送消息的代码,看不懂没关系,主要是要这一段代码每隔100ms就执行一次,循环不断发送。 展开
{
if(m_bOpen==0)
return;
VCI_CAN_OBJ sendobj = new VCI_CAN_OBJ();
//sendobj.Init();
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;
int i=-1;
if(i++<len-1)
sendobj.Data[0]=System.Convert.ToByte("0x" +strdata.Substring(i * 3, 2),16);
if (i++ < len - 1)
sendobj.Data[1]=System.Convert.ToByte("0x" +strdata.Substring(i * 3, 2),16);
if (i++ < len - 1)
sendobj.Data[2]=System.Convert.ToByte("0x" +strdata.Substring(i * 3, 2),16);
if (i++ < len - 1)
sendobj.Data[3]=System.Convert.ToByte("0x" +strdata.Substring(i * 3, 2),16);
if (i++ < len - 1)
sendobj.Data[4]=System.Convert.ToByte("0x" +strdata.Substring(i * 3, 2),16);
if (i++ < len - 1)
sendobj.Data[5]=System.Convert.ToByte("0x" +strdata.Substring(i * 3, 2),16);
if (i++ < len - 1)
sendobj.Data[6]=System.Convert.ToByte("0x" +strdata.Substring(i * 3, 2),16);
if (i++ < len - 1)
sendobj.Data[7] = System.Convert.ToByte("0x" + strdata.Substring(i * 3, 2), 16);
if(VCI_Transmit(m_devtype,m_devind,m_canind,ref sendobj,1)==0)
{
MessageBox.Show("发送失败", "错误",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
}
以上代码就是一段发送消息的代码,看不懂没关系,主要是要这一段代码每隔100ms就执行一次,循环不断发送。 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询