Exemplo n.º 1
0
        static void ReadScratchPad(ref DS18B20 sensor)
        {
            //********************* Read Scratchpad ********************************
            Console.WriteLine("Reset Bus");
            if (!sensor.Reset())
            {
                Console.WriteLine("Nix Sensor\r\n");
                return;
            }

            //Select Sensor
            Console.WriteLine("Read Scratchpad für Sensor:\t{0}", sensor.GetSensorAddress());

            //Transfer Command und Sensor Adresse 8 Bytes
            sensor.Transfer(DS18B20.Command.MatchRom, DS18B20.TranferCounts.MatchRom);
            ScratchPad = sensor.Transfer(DS18B20.Command.ReadScratchpad, DS18B20.TranferCounts.ReadScratchpad);

            Console.Write("Scratchpad:\t\t\t");
            //PrintBytes(ScratchPad.Serialize());
            Console.WriteLine(ScratchPad);


            Console.Write("Check CRC\t\t\t{0:x2} ", DS18B20.CRC8(ScratchPad));
            Console.WriteLine("{0}", ScratchPad.CheckCRC() ? "OK" : "Fehler");

            Console.WriteLine("Configregister:\t\t\t{0:x2}", (byte)ScratchPad.ConfigRegister);


            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine("Temp: {0:F4}°C\r\n", ScratchPad.GetTemp());
            Console.ResetColor();
        }
Exemplo n.º 2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="SkipRom">true SkipROM oder nicht</param>
        static void StartConvertion(bool SkipRom, ref DS18B20 sensor)
        {
            //********************* Start Convertion ********************************

            Console.WriteLine("Reset Bus");
            if (!sensor.Reset())
            {
                Console.WriteLine("Nix Sensor\r\n");
                return;
            }


            if (SkipRom)
            {
                Console.WriteLine("Skip ROM, alle Sensoren messen zusammen ");
                sensor.Transfer(DS18B20.Command.SkipRom);
            }
            else
            {
                //Select Sensor
                Console.Write("Match ROM jeder Sensor misst Separat. Select Sensor ");


                Console.WriteLine(sensor.GetSensorAddress());

                //Transfer Command und Sensor Adresse 8 Bytes
                sensor.Transfer(DS18B20.Command.MatchRom, DS18B20.TranferCounts.MatchRom);
            }

            //Start Temp Convertion nur Command
            Console.WriteLine("Start Convertion\r\n");
            sensor.Transfer(DS18B20.Command.ConvertT);

            //Datenblatt max Convertion Time
            System.Threading.Thread.Sleep(800);
        }