24 Ekim 2012 Çarşamba

USB RS232 dönüştürücü kurulumu kullanılması ve C# ile seri port iletişim örneği

 Driver yüklü ise baştan kaldırın. Sonra Bilgisayar açılışında işletim sistemleri menüsünden (işletim sistemleri menüsü yoksa bios ekranından sonra) f8 tuşu ile ile dijital imza zorlamasını kaldırın (Daha detaylı bilgi için buraya bakabilirsiniz). Rs232 Usb çeviriciyi usb den takın (uçlarını kısa devre yapmadan) ve driver'ı gösterip yükleyin. Hyper Terminali açın, bağlantı oluşturun ayarlar kısmında default ayarları getirin (Restore defaults) Daha sonra seri port'un üstten 2. ve 3. portlarını birleştirin ve klavyeden giriş yapın, yazdıklarınız aynen gözüküyorsa rs232 portunuz sorunsuz çalışıyor demektir.

Tekrar bağlanmaya çalıştığınızda port hatası verirse Hyper Terminali kapatıp dönüştürücüyü çıkarın, kısa devre yaptığınız uçları düzeltin, kısa devre yapmadan tekrar bağlayın ve hyper Terminali açarak yeniden bağlanmayı deneyin. 

Aşağıdaki C# ile yazdığım program ile de test edebilirsiniz, (programı buradan indirebilirsiniz). Dikkat edin Port doğru seçilmeli yoksa hata verecektir.





private void Form1_Load(object sender, EventArgs e)
        {
            SerialSettings(sender, e);
        }

        private void comboBoxPortNameBaundRate_SelectedIndexChanged(object sender, EventArgs e)
        {
            SerialSettings(sender, e);
        }

        public void SerialSettings(object sender, EventArgs e)
        {
            serialPort1 = new SerialPort(comboBoxPortName.Text, Convert.ToInt32(comboBoxBaundRate.Text));
            serialPort1.ReadTimeout = 500;
            serialPort1.WriteTimeout = 500;
        }

        private void Write_Click(object sender, EventArgs e)
        {
            try
            {
                if (!serialPort1.IsOpen)
                {                   
                    serialPort1.Open();
                }
                serialPort1.WriteLine(textBox1.Text);
                MessageBox.Show("Başarıyla yazıldı", "Tebrikler");
            }
            catch (Exception writemessage) { MessageBox.Show("Seri Porta yazma sırasında şu hata oluştu: \n\n" + writemessage.Message); }
        }

        private void Read_Click(object sender, EventArgs e)
        {
            try
            {
                textBox2.Text = serialPort1.ReadLine();
                serialPort1.Close();
                MessageBox.Show("Başarıyla okundu", "Tebrikler");
            }
            catch (Exception readmessage) { MessageBox.Show("Seri Porttan okuma sırasında şu hata oluştu:        \n\n" + readmessage.Message); }
        }

Hiç yorum yok: