logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

atmega8/bascom - Jak uniknąć błędnego odczytu 85°C z DS18B20 przy starcie?

maximus22_kr 02 Gru 2012 20:32 1956 1
REKLAMA
  • #1 11602645
    maximus22_kr
    Poziom 18  
    Witam
    Mam mały problem z tym dość prostym programem. Generalnie działa tak jak powinien, tylko przy włączeniu układu następuje krótkie załączenie przekaźnika. Jest to spowodowane tym, że początkowy odczyt z DS18B20 jest 85 stopni ( integer 850 ) co przekracza ustaloną przeze mnie początkową wartość 45 stopni ( integer 450 ).
    Próbowałem dać badanie warunku włączenia w podprogramie i uruchamiać ten podprogram w przepełnieniu Timer, ale to się nie sprawdziło ( pewnie coś źle zrobiłem ).

    Kod: text
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #2 11602786
    GSM
    Poziom 25  
    W datasheet-cie DS-a jest napisane co oznacza gdy wysyła ci temperaturę 85 stopni...
    Jest to jak najbardziej uzasadnione, ponieważ pierw odczytujesz wartość rejestru temperatury a dopiero po tym rozpoczynasz konwersję, zawsze pierwszy wynik będzie błędny... Nie przeklejaj bezmyślnie kodu od innych.

    Pozdrawiam,
    GSM
REKLAMA