11 Aralık 2018, 18:14:40

Haberler:

Foruma Resim Yükleme ve Boyut Sınırlaması ( ! )  https://bit.ly/2GMFb8H


SerialPort.Read Byte ?

Başlatan ibrahimayhan, 28 Mart 2018, 18:48:04

ibrahimayhan

Merhabalar,
Sizlerden Bir Konu Hakkında Bilgi Paylaşımında Bulunmanızı Rica Etmekteyim,
Geliştirme Aşamasında Bulunduğum Bir Proje Üzerinde Serial Port Bağlı Bulunan İndicator Cihazı Üzerine Veri Gönderme ve Veri Geri Alma İşlemiyle İlgili Bir Sorun Yaşamaktayım,
Kod Blogum Aşağıdaki Gibidir,
SeriPortTLB_DataReceived Event Üzerinde Gelen Verinin Byte Olarak Textbox Üzerine Göndermem Gerekmektedir,
Gelen Veriyi Byte Olarak Nasıl Yazdırabilirim ?
Sizlerden Bu Konu Hakkında Bilgi Beklemekteyim, İyi Çalışmalar...

Kod Seç

using DevComponents
.DotNetBar.Metro;
using System;
using System.Windows.Forms;

namespace 
VeriOkuma
{
    public 
partial class VeriOkuma MetroForm
    
{
        public 
VeriOkuma()
        {
            
InitializeComponent();
            
Control.CheckForIllegalCrossThreadCalls false;
        }

        private 
void BTNVeriGonder_Click(object senderEventArgs e)
        {
            if (!
SerialPortTLB.IsOpen)
                
SerialPortTLB.Open();
            
SerialPortTLB.Write(System.Convert.ToChar(2).ToString() + System.Convert.ToChar(1).ToString() + "DNG" System.Convert.ToChar(13).ToString());
        }

        private 
void VeriOkuma_Load(object senderEventArgs e)
        {
            if (
SerialPortTLB.IsOpen)
            {
                
SerialPortTLB.Close();
            }
        }

        private 
void SerialPortTLB_DataReceived(object senderSystem.IO.Ports.SerialDataReceivedEventArgs e)
        {
            if (!
SerialPortTLB.IsOpenSerialPortTLB.Open();
            
TXBGelenVeri.Text SerialPortTLB.ReadExisting();
            
SerialPortTLB.Close();
        }
    }
}

memoliz188

Merhaba veri gönderme ve almak istediğiniz cihazınız hangi protokolde olduğunu bilmelisiniz. Bir çok haberleşme protokolleri var RS232 bağlantı şeklidir bun yanında direk data alışverişi yapacaksanız aşağıdaki linki bir kontrol edin.
 
https://www.codeproject.com/Articles/75770/Basic-serial-port-listening-application

telbozan

   ReadByte( ) fonksiyonu yerine SerialPort.ReadLine() fonksiyonunu kullanmanızı öneririm. Yalnız bu fonksiyonu kullanabilmeniz için cihazınızın Gönderdiği verilerin sonuna 0x0A, 0x0D verilerini eklemesi gerekir.

telbozan

Kod Seç
string yazi System.Text.Encoding.UTF8.GetString(gelen_veri);
textBox1.Text yazi;

Şeklinde yazdırabilirsiniz.