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

Bascom: Czy metoda CRC jest poprawna dla DS1820/DS18B20?

rezontor 13 Sty 2013 23:24 3612 8
  • #1 11785874
    rezontor
    Poziom 15  
    Witam
    Czy niżej przedstawiona metoda jest metoda prawidłową przy wykrywaniu zakłamań w transmisji przy użyciu CRC?
    Czy program może być stosowany do ds1820/ds18b20?

    Kod: text
    Zaloguj się, aby zobaczyć kod
  • Pomocny post
    #2 11786749
    Freddy
    Poziom 43  
    rezontor napisał:
    Witam
    Czy niżej przedstawiona metoda jest metoda prawidłową przy wykrywaniu zakłamań w transmisji przy użyciu CRC?
    Czy program może być stosowany do ds1820/ds18b20?

    Kod: text
    Zaloguj się, aby zobaczyć kod

    Masz poniżej pewne działające:
    Kod: text
    Zaloguj się, aby zobaczyć kod
  • #3 11790564
    rezontor
    Poziom 15  
    Dziękuję za program. Czy mój kod będzie też działał prawidłowo?
  • #4 11968795
    pawelec5
    Poziom 17  
    Też mam problem z crc.
    Chcąc wesprzeć się programem kolegi Freddy musiałem dodać wcześniejszy ciąg programu i nie jestem pewien czy wszystko jest oki.
    Skompilował się bez problemu ale ciągle na LCD pojawiają się "**" czyli jakby crc nie było w porządku. Dodam że mam oryginalną płyte z atmega644p i czujnik Ds18b20 jest na niej umieszczony. Co może być powodem błędnego crc???
    Po ominięciu warunku
    Kod: text
    Zaloguj się, aby zobaczyć kod

    Temperatura zostaje wyświetlona normalnie

    Kod: text
    Zaloguj się, aby zobaczyć kod


    Dodano po 23 [minuty]:

    W dokumentacji do płyty głownej znalazłem że rezystor podciągający ma 10k.
    Podłączyłem 4k7 i ten sam efekt. Coś chyba w programie skopałem.
  • #5 11969169
    Freddy
    Poziom 43  
    Napewno, bo tych procedur użyłem juz kilkanaście razy i zawsze działają.
    Cytat:

    Config 1wire = Portd.7 ' Port 1 wire

    Może chodzi o to, ja mam portd.7 a nie pind.7
    Bascom: Czy metoda CRC jest poprawna dla DS1820/DS18B20?
  • #6 11969723
    pawelec5
    Poziom 17  
    Zmiana nic nie pomogła.
    Kod: text
    Zaloguj się, aby zobaczyć kod

    dodam jeszcze że jak odczytuje crc w tym miejscu to jest ono zmienne przy zmianie temp(gdy dotknę Ds18b20 palcem crc zmienia się)
    Kod: text
    Zaloguj się, aby zobaczyć kod

    Dodam również odczyty co mi wychodzi

    Kod: text
    Zaloguj się, aby zobaczyć kod

    Kod: text
    Zaloguj się, aby zobaczyć kod

    Akurat się jeden odczyt trafił.
  • #7 11970474
    zumek
    Poziom 39  
    pawelec5 napisał:
    Zmiana nic nie pomogła.

    A teraz, zastanów się dobrze, co tu nie gra :?:

    Kod: text
    Zaloguj się, aby zobaczyć kod


    PS
    A czy Bascom, nie ma przypadkiem funkcji do obliczania CRC :?:
  • #8 11970872
    pawelec5
    Poziom 17  
    Zgadza się. Poprawiłem i wskazuje temperaturę.

    Wklejam cały kod:
    Kod: text
    Zaloguj się, aby zobaczyć kod
  • #9 11971171
    Freddy
    Poziom 43  
    pawelec5 napisał:
    Zgadza się. Poprawiłem i wskazuje temperaturę.

    No nie podawałem deklaracji, bo nie sądziłem, że palniesz taka gafę :)
    zumek :arrow: Zgadza się, Bascom ma obliczanie CRC, ale ten fragment, który podałem działa dużo szybciej - sprawdzone, co prawda zjada więcej pamięci, ale czasem szybkość jest ważniejsza :)
REKLAMA