private void btnStart_Click(object sender, EventArgs e)
{
serialPort1.Close();
serialPort1.PortName = "COM3"; // Kullanacağımız seri port adını seçiyoruz (String)
serialPort1.BaudRate = 300; // Seri haberleşme hızını seçiyoruz (int32)
serialPort1.DataBits = 7; // göndereceğimiz bilginin kaç bitten oluşacağını bildiriyoruz (int32).
serialPort1.Parity = Parity.Even; // Eşlik bitidir. Gönderilen verinin doğruluğunu kontrol etmek için kullanılır.
serialPort1.StopBits = StopBits.One; // Stop bitinin kaç bit olacağını belirtir.
Thread.Sleep(300);
indata = string.Empty;
txtOkunan.Text = "";
txtRead.Text = "";
serialPort1.Open(); // Seri portumuzu açıyoruz
serialPort1.DtrEnable = false;
if (serialPort1.IsOpen)
{
try
{
serialPort1.DiscardInBuffer(); //Gelen veri hafızasını temizler.
serialPort1.DiscardOutBuffer(); //Giden veri hafızasını temizler.
char[] sayacOnay = { '/','?' ,'M', 'S', 'Y', '7', '3', '3', '0', '6', '0', '1', '9', '!','\r', '\n' };
serialPort1.Write(sayacOnay, 0, sayacOnay.Length);
Thread.Sleep(250);
***burada event aktif oluyor gelen veriyi okuyor
Thread.Sleep(2000);
serialPort1.DiscardInBuffer(); //Gelen veri hafızasını temizler.
serialPort1.DiscardOutBuffer(); //Giden veri hafızasını temizler.
char[] iletilenVeri = { (char)6, '0', '5', '1', '\r', '\n' };
serialPort1.Write(iletilenVeri, 0, iletilenVeri.Length);
Thread.Sleep(250);
serialPort1.Close(); //300 bps ile olan bağlantıyı kapatıyoruz.
serialPort1.BaudRate = 9600; //9600 bps e ayarlıyoruz.
serialPort1.Open(); // tekrar açıyoruz.
serialPort1.DtrEnable = true; //DTR özelliğini açıyoruz.
Thread.Sleep(250);
**bu kısımda event aktif olmuyor gelen veriyi okuyamıyorum
**** aşağıdaki komulardan hiç bir şey gelmiyor time out a düşüyor.
string gelen1 = serialPort1.ReadLine();
len = serialPort1.Read(bufferByte, 0, readData1.Length);
len = serialPort1.Read(bufferChar, 0, readData1.Length);
}
catch (Exception ex)
{
MessageBox.Show("1" + ex.ToString());
}
}
}
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
try
{
SerialPort sp = (SerialPort)sender;
indata = sp.ReadExisting();
txtOkunan.Text += indata;
}
catch (Exception ex)
{
MessageBox.Show("1" + ex.ToString());
}
}