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

ATmega32 - błędne odczyty temperatury z DS18B20, poprawne na ATmega328

RexioManTM 20 Lut 2015 22:44 939 5
REKLAMA
  • #1 14460287
    RexioManTM
    Poziom 11  
    Witam. Mam problem z poprawnym odczytem temperatury z czujnika DS18B20. Otóż na ATmedze328 wszystko działa poprawnie. Używając tej samej biblioteki na ATmega32 wartość raz wynosi 0.0 C a raz różne dziwne wyniki np. 6548 itd. Dodam, że DHT11 działa, więc odmierzanie czasu przy użyciu 1wire jest poprawne. Nie wiem, gdzie może tkwić problem.

    @Edit - przez przypadek dałem temat nie w tym dziale. Powinno być: Mikrokontrolery Początkujący
  • REKLAMA
  • #2 14460365
    hajy
    Poziom 21  
    Witam

    Jak ty nie wiesz gdzie jest problem to skąd my mamy to wiedzieć.
    Nie załączyłeś ani schematu ani listingu.

    Pozdrawiam Romek
  • REKLAMA
  • #3 14460381
    RexioManTM
    Poziom 11  
    PA7 -> DS18B20 schemat jest niepotrzebny, ponieważ obecnie tylko ten czujnik jest podłączony, więc poza ATmega32, filtracją zasilania i DS18B20 nic więcej nie ma. Kod jest poprawny, bo działa na ATmega328. DS18B20 podciągnięty rezystorem 4,7k. Być może ktoś już miał podobny problem, a rozwiązaniem były np. źle ustawione fuse bity. Nie wiem co może przyczyną, dlatego liczę na pomoc kogoś z zewnątrz co być może wie o co chodzi.
  • REKLAMA
  • REKLAMA
  • #5 14460411
    RexioManTM
    Poziom 11  
    main.c

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod





    DS18B20.c

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod





    DS18B20.h

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod




    Na ATmedze328 działa.

    Przepraszam za brak SYNTAX.
  • #6 14462095
    RexioManTM
    Poziom 11  
    Nie wiem co się dzieje z tym czujnikiem ale problem został rozwiązany. Po prostu zadziałał.
REKLAMA