Cześć,
Muszę przechwycić ramki, które są wysyłane z programu to sterownika. Zrobiłem tak:
- podłączyłem się pomiędzy komputer a sterownik
- skonfigurowałem swój port tak jak port urządzenia i uruchomiłem nasłuch
Problem w tym, że ramki przechwytuję ale przychodzą one połączone czyli. ramka zapytania z komputera jest połączona z ramką odpowiedzi ze sterownika
Proszę o pomoc jak "złapać" ramkę osobno z komputera a osobno z urządzenia?
byte[] data_in;
public Form1()
{
InitializeComponent();
Port.DataReceived += new SerialDataReceivedEventHandler(sp_DataReceived);
}
private void button1_Click(object sender, EventArgs e)
{
Port.ReadTimeout = 50;
Port.BaudRate = 115200;
Port.DataBits = 8;
Port.Parity = Parity.None;
Port.StopBits = StopBits.One;
Port.Encoding = Encoding.BigEndianUnicode;
Port.PortName = comboBox1.Text;
if (Port.IsOpen != true)
Port.Open();
}
void sp_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
data_in = null;
data_in = new byte[Port.BytesToRead];
Port.Read(data_in, 0, data_in.Length);
Port.DiscardInBuffer();
}