Beijer x2 base 10v2 ekranda şöyle bir sıkıntım var yardımcı olursanız çok sevinirim...
ekrana serialden istediğim gibi data gönderiyorum 32byte alıp ekranda işliyorum sıkıntı yok ama ekrandan dışarı data gönderirken sıkıntı yaşıyorum.
Mesela 1 byte yolladığımda örnek bu 127 olsun 1 byte olarak değil de 3 byte olarak çıkıyor 1-2-7 gibi bununla ilgili bana yardımcı olabilecek biri var mı varsa çok sevinirim...
Yaklaşık 100 byte veri çıkışı yapmam lazım ekrandan bu sıkıntıdan dolayı sağlıklı veri transferi yapamıyorum.
Kullandığım script:
Kod: [Linkleri görüntülemek için forumumuza üye olmalısınız]
namespace Neo.ApplicationFramework.Generated
{
using System.Windows.Forms;
using System;
using System.Drawing;
using Neo.ApplicationFramework.Tools;
using Neo.ApplicationFramework.Common.Graphics.Logic;
using Neo.ApplicationFramework.Controls;
using Neo.ApplicationFramework.smile;
using System.IO.Ports;
public partial class SerialComScript
{
public static SerialCom serialCom = null;
static SerialComScript()
{
serialCom = new SerialCom();
}
public void Send(string data)
{
serialCom.SendData(data);
}
}
public class SerialCom
{
public SerialPort sPort = null;
private Timer myTimer = new Timer();
public SerialCom()
{
sPort = new SerialPort("COM1", 9600, Parity.None, 8, StopBits.One);
sPort.Open();
myTimer.Tick += new EventHandler(TimerEventProcessor);
myTimer.Interval = 100;
myTimer.Enabled = true;
}
public void SendData(string outData)
{
sPort.Write(outData);
}
private void TimerEventProcessor(Object myObject, EventArgs myEventArgs)
{
Globals.SerialComScript.Send("@");
try
{
byte x=0;
int BytesReceived;
byte[] BusMsg;
int devir_new ;
BytesReceived = sPort.BytesToRead;
if (BytesReceived == 0) return;
BusMsg = new byte[BytesReceived];
sPort.Read(BusMsg, 0, BytesReceived);
Globals.Tags.Tag1.Value = BusMsg[1] * 1;
}
catch(Exception){return;}
}
}
}
