can you help me about this issue?? i really need to your help , thank you so much <3
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
string[] ports = SerialPort.GetPortNames();
CoMports_list.Items.AddRange(ports);
CoMports_list.SelectedIndex = 0;
serialPort1.DataReceived+= new System.IO.Ports.SerialDataReceivedEventHandler(serialPort1_DataReceived);
}
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
while ((serialPort1.IsOpen) && (serialPort1.BytesToRead > 0))
{
rxString = string.Empty;
try
{
rxString = serialPort1.ReadTo("\r\n");
this.Invoke(new EventHandler(handleRXData));
while ((serialPort1.IsOpen)) ;
}
catch (Exception exception)
{
Console.WriteLine(exception.Message , "can not received data");
}
}
}
public void addToLog(string text)
{
richTextBox1.AppendText(text + "\r");
richTextBox1.ScrollToCaret();
}
private void handleRXData(object sender, EventArgs e)
{
char[] charsToTrin = {'<', '>', '[', ']', ' '};
int tmp;
if (rxString.IndexOf("ok") >=0)
{
addToLog(string.Format("<{0}",rxString));
return;
}
else if (((tmp = rxString.IndexOf('<')) >= 0) && (rxString.IndexOf('>') > tmp))
{
if (scroling_chek_box.Checked)
addToLog(rxString);
return;
}
}
private void Connect_btn_Click(object sender, EventArgs e)
{
serialPort1.BaudRate = Convert.ToInt32(baudRate_list.Text);
try
{
serialPort1.PortName = CoMports_list.Text;
serialPort1.Open();
}
catch (Exception er)
{
MessageBox.Show(er.Message, "message", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void timer1_Tick(object sender, EventArgs e)
{
if (serialPort1.IsOpen) //
{
try
{
var dataArray = new byte[]
{
Convert.ToByte('?')
};
serialPort1.Write(dataArray, 0, 1);
}
catch (Exception er)
{
serialPort1.Close();
}
}
}
}