Bonjour
Je suis en stage et je dois crée un programme pour dialoguer via un port série RS485 avec mon capteur. Pour le moment j'arrive à dialoguer avec le capteur. Mais j'ai un problème je n'arrive pas à récupérer et à afficher les infos retournées par le capteur.
N'ayant jamais fait de c# jusque-là je suis un peu perdu. Si quelqu'un pouvait m'aider à récupérer ces valeurs je pourrais faire mes mesures de distance
Merci d'avance.
Je vous laisse ce que j'ai fait :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;
using System.Threading;
namespace WindowsFormsApplication4
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private bool ouvert = false;
private void binit_Click(object sender, EventArgs e)
{
if (ouvert == false)
{
try
{
usb.Open();
byte[] buffer = { 0x55, 0xAA, 0xAB, 0x01, 0x55, 0x11, 0x11 };
usb.Write(buffer, 0, 7);
ouvert = true;
MessageBox.Show("succes");
}
catch
{
}
}
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
if (ouvert == true)
{
this.Text = textBox1.Text;
textBox1.Text = ("Ready");
}
}
private void timer1_Tick(object sender, EventArgs e)
{
if (ouvert)
{
if (usb.BytesToRead >= 7)
{
timer1.Enabled = false;
byte[] buffer = new byte[8];
//MessageBox.Show("ready");
usb.Read(buffer, 0, 7);
timer1.Enabled = true;
}
}
}
private void bmesure_Click(object sender, EventArgs e)
{
byte[] buffer = { 0x55, 0xAA, 0x11, 0x00, 0x02, 0x12 };
byte[] result = { };
usb.Write(buffer, 0, 6);
usb.ReadExisting();
usb.BaseStream;
stream.Position = 0;
String chaineLue = new String(reader.ReadChars(8));
MessageBox.Show(chaineLue);
}
private void bclose_Click(object sender, EventArgs e)
{
ouvert = false;
usb.Close();
Application.Exit();
}
private void richTextBox1_TextChanged(object sender, EventArgs e)
{
Console.WriteLine(usb.ReadByte());
}
}
}
Partager