Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Atmega8A - DS18B20 - ustawianie rozdzielczości 9-bit (sprawdzenie poprawnosci)

aplov 05 Mar 2016 22:35 900 1
  • #1 05 Mar 2016 22:35
    aplov
    Poziom 6  

    Witam,
    chciałbym spytać Was o poprawność zmiany rozdzielczości czujnika temperatury DS18B20 na 9-bit.

    Zmieniam to w nastepujący sposób:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Również mam problem z konwersją 9-bitową. Poniżej jest zaprezentowana 12-bit'owa
    Kod: c
    Zaloguj się, aby zobaczyć kod


    Mam jeszcze pytanie, czy podczas wykonywania pierwszego kodu, bity 2 i 3 są zapisywane do EEPROM'u czy do scratchpada ?

    0 1
  • Pomocny post
    #2 06 Mar 2016 07:59
    emarcus
    Poziom 35  

    aplov napisał:
    Witam,
    chciałbym spytać Was o poprawność zmiany rozdzielczości czujnika temperatury DS18B20 na 9-bit.

    Zmieniam to w nastepujący sposób:
    Kod: c
    Zaloguj się, aby zobaczyć kod


    Również mam problem z konwersją 9-bitową.

    Mam jeszcze pytanie, czy podczas wykonywania pierwszego kodu, bity 2 i 3 są zapisywane do EEPROM'u czy do scratchpada ?


    Zacznę od ostatniego pytania:
    To nie są bity - raczej bajty, i sa to tylko TH i TL i są wpisane tylko do Scratchpad.
    To by wystarczyło dopóki nie wyłączysz/reset processora. Musiałoby to pozostac częścią programu.

    Całą procedurę zmiany rozdzielczości masz opisaną w datasheet: Example 2.
    Popatrz na tę linię (5):
    
    Cytat:

    TX | 3 data bytes | Master sends three data bytes to scratchpad (TH, TL, and config).

    Potrzebujesz także wysłac czwarty byte konfiguracyjny (dla res. 9-bit ) [1F]
    Aby tą procedurą nie obciążac programu, tak skonfigurowany scratchpad potrzebujesz wpisac do EEPROM - patrz linia (11, 13 i 14).
    Po tym 'zabiegu' tą częśc można usunąc z programu.

    Rachunek temperatury jest tu prosty: odczytaną wartośc temperatury mnożysz przez 0.5 albo dzielisz przez 2.

    e marcus

    0
  Szukaj w 5mln produktów