Witam,
Ostatnio rozpocząłem pracę nad napisaniem programu który pozwolił by mi odczytać temperaturę z układu ds1820 przez rs232.
Wstępnie mój kod wygląda tak:
int cos = 0;
char[] bufor = new char[8];
SerialPort port = new SerialPort("COM2", 9600, Parity.None, 8, StopBits.One);
port.WriteTimeout = 5000;
port.ReadTimeout = 5000;
port.Open();
byte[] x = new byte[1];
byte[] x1 = new byte[8];
try
{
port.BreakState = true;
Thread.Sleep(500);
port.BreakState = false;
Thread.Sleep(30);
x[0] = 0xcc;
port.Write(x, 0, 1); // Pomijamy adres uządzenia
x[0] = 0x44;
port.Write(x, 0, 1); // Wykonaniae Pomiaru
Thread.Sleep(750);
port.BreakState = true;
Thread.Sleep(500);
port.BreakState = false;
Thread.Sleep(30);
x[0] = 0xcc;
port.Write(x, 0, 1); // Pomijamy adres uządzenia
x[0] = 0xbe;
port.Write(x, 0, 1); // Odczyt danych
cos = port.Read(x1, 0, 8);
listBox1.Items.Clear();
for(int t=0;t<8;t++)
listBox1.Items.Add(x1[t].ToString());
}
catch(Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
Niestety brak odczytu temperatury?
Czy wie ktoś w jaki sposób można to oprogramować?