Giriş
Şu satırı dahil ederiz.
Şöyle yaparız. Bu durumda Port + BaudRate vs. gibi alanlara değer atayıp, daha sonra Open() metodu çağrılır.
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
Okumaya hazır kaç byte olduğunu verir.Şöyle yaparız.
Açıklaması şöyle.
DataBits Alanı
Şöyle yaparız. 5 ve 6 bit veri büyüklükleri çok eskiden kullanılırdı.
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
Şu satırı dahil ederiz.
using System.IO.Ports;
ConstructorŞöyle yaparız. Bu durumda Port + BaudRate vs. gibi alanlara değer atayıp, daha sonra Open() metodu çağrılır.
System.ComponentModel.IContainer components =
new System.ComponentModel.Container();
SerialPort serialPort = new SerialPort(components);
Constructor - StringŞöyle yaparız.
SerialPort serialPort = new SerialPort("COM19");
Constructor - String + SpeedŞöyle yaparız.
string port = ...;
SerialPort serialPort = new SerialPort(port, 9600);
Constructor - String + Speed + Parity + DatabitŞöyle yaparız.
String COMPort, int Baudrate, Parity Parity, int Databit)
SerialPort serialPort = new SerialPort(COMPort
, Baudrate, Parity, Databit);
Şöyle yaparız.SerialPort serialPort = ;
new SerialPort("COM6", 9600, Parity.None, 8, StopBits.One);
Close metoduŞöyle yaparız.
serialPort.Close();
BytesToRead AlanıOkumaya hazır kaç byte olduğunu verir.Şöyle yaparız.
if(serialPort.BytesToRead != 100)
{
...
}
BaudRate AlanıAçıklaması şöyle.
Baud rate is the rate of individual bit times or slots for symbols. Not all slots necessarily carry data bits, and in some protocols, a slot can carry multiple bits. Imagine, for example, four voltage levels used to indicate two bits at a time.Ayrıca
Bit rate is the rate at which the actual data bits get transferred. This can be less than the baud rate because some bit time slots are used for protocol overhead. It can also be more than the baud rate in advanced protocols that carry more than one bit per symbol.
The baud rate is almost always much less than the bit rate.Şöyle yaparız.
serialPort.BaudRate = 115200;
Şöyle yaparız.serialPort.BaudRate = 9600;
Şöyle yaparız. 5 ve 6 bit veri büyüklükleri çok eskiden kullanılırdı.
serialPort.DataBits = 8;
DataReceived Event'i
Açıklaması şöyle.
Metod şöyledir.
Sabit boydaki veriyi okumak için şöyle yaparız.
Aynı şeyi şöyle de yapabiliriz.
Aynı şeyi şöyle de yapabiliriz. Bu sefer nesnenin içindeki BaseStream'i kullanıyoruz.
Açıklaması şöyle.
Handler'ı bağlamak için şöyle yaparız.The DataReceived event is raised on a secondary thread when data is received from the SerialPort object
serialPort.DataReceived += new SerialDataReceivedEventHandler(OnDataReceived
);
Aşağıdaki örneklerden hangisini kullanırsak kullanalım UI'a geçmek için BeginInvoke() çağrılır. Şöyle yaparız.private void OnDataReceived_1(object sender, SerialDataReceivedEventArgs e)
{
string InputData = ComPort.ReadLine();
if (InputData != String.Empty)
{
this.Invoke(st,new object[] { InputData});
}
}
Örnek - ReadExisting ileMetod şöyledir.
void OnDataReceived(object sender, SerialDataReceivedEventArgs e){
SerialPort sp = (SerialPort)sender;
string indata = sp.ReadExisting();
...
}
Örnek - Read ileSabit boydaki veriyi okumak için şöyle yaparız.
const int MessageSize = 256;
byte[] buf = new byte[MessageSize];
int offset = 0;
void SerialPortDataReceived(object sender, SerialDataReceivedEventArgs e)
{
SerialPort port = (SerialPort)sender;
try
{
offset += port.Read(buf, offset, MessageSize - offset);
if(offset == MessageSize)
{
//Full
...
offset = 0;
}
}
catch (Exception ex)
{
...
}
}
Örnek - BytesToRead ileAynı şeyi şöyle de yapabiliriz.
void OnDataReceived(object sender, SerialDataReceivedEventArgs e)
{
int dataLength = serialPort.BytesToRead;
byte[] data = new byte[dataLength];
int nbrDataRead = serialPort.Read(data, 0, dataLength);
...
}
Örnek - BaseStream ileAynı şeyi şöyle de yapabiliriz. Bu sefer nesnenin içindeki BaseStream'i kullanıyoruz.
void OnDataReceived(object sender, SerialDataReceivedEventArgs e)
{
byte[] buff = new byte[9600];
int readByteCount = serialPort.BaseStream.Read(buff, 0, serialPort.BytesToRead);
...
}
DiscardInBuffer metodu
Şöyle yaparız.serialPort.DiscardInBuffer();
DiscardOutBuffer metoduŞöyle yaparız.
serialPort.DiscardOutBuffer();
DtrEnable AlanıŞöyle yaparız.
serialPort.DtrEnable = true;
GetNames metodu
Şöyle yaparız.string[] ports = SerialPort.GetPortNames();
HandShake AlanıŞöyle yaparız.
serialPort.Handshake = Handshake.None;
Open metodu
Şöyle yaparız.serialPort.Open();
Parity AlanıŞöyle yaparız.
serialPort.Parity = Parity.None;
Şöyle yaparız.serialPort.Parity = Parity.Odd;
Şöyle yaparız.serialPort.Parity = Parity.Even;
PortName Alanı
Şöyle yaparız.serialPort1.PortName = "COM4";
ReadExisting metodu
Şöyle yaparız.string indata = serialPort.ReadExisting();
ReadLine metoduŞöyle yaparız.
string returnMessage = serialPort.ReadLine();
ReadTimeout AlanıŞöyle yaparız.
serialPort.ReadTimeout = 400;
StopBits Alanı
Şöyle yaparız.serialPort.StopBits = StopBits.One;
WriteLine metodu
String yazabilmemizi sağlar. Şöyle yaparızserialPort.WriteLine("ATE1" + "\r");
WriteTimeout Alanı
Şöyle yaparız.serialPort.WriteTimeout = 400;
Hiç yorum yok:
Yorum Gönder