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

[Bascom][Atmega128] - Śmieci na GLCD przy odczycie temperatury

morswin89 05 Mar 2013 16:14 1800 4
REKLAMA
  • #1 12020587
    morswin89
    Poziom 23  
    Mam taki problem że gdy podpięty jest DS18B20 to na wyświetlaczu pokazują się jakieś śmieci, wszytko działa bez problemu. Gdy czujnik zostanie odpięty nie ma problemu z tymi śmieciami. Podejrzewam że przyczyną tego może być funkcja FUSING, może istnieje sposób na ominięcie tej funkcji.

    Kody:

    Temperatura odczytywana w przerwaniu zewnętrznym co 1s.
    Kod: text
    Zaloguj się, aby zobaczyć kod


    Ekran główny:
    Kod: text
    Zaloguj się, aby zobaczyć kod


    Fotki jak to wygląda:
    [Bascom][Atmega128] - Śmieci na GLCD przy odczycie temperatury [Bascom][Atmega128] - Śmieci na GLCD przy odczycie temperatury [Bascom][Atmega128] - Śmieci na GLCD przy odczycie temperatury
  • REKLAMA
  • #2 12020634
    piotrva
    VIP Zasłużony dla elektroda
    Gdzie i jak masz obsługiwane przerwania?
    Jak wygląda sprawa stosów/ramki?
  • REKLAMA
  • REKLAMA
  • Pomocny post
    #4 12020815
    BlueDraco
    Specjalista - Mikrokontrolery
    No to mamy winowajcę. Robienie czegokolwiek długotrwałego w przerwaniu to chory pomysł, ale problem polega na tym, że procedury obsługi LCD nie blokują przerwań na czas wykonywania operacji na LCD - dołóż blokowanie i odblokowanie przerwań na prymitywach LCD i zadziała (jako proteza). żeby zadziałało dobrze - przenieś obsługę 1Wire do pętli głównej.
  • #5 12021001
    morswin89
    Poziom 23  
    No i po problemie :) Obsługa DS'a przeniesiona do pętli głównej. I znowu potwierdza się teza, że przerwania powinny być jak najkrótsze myślałem że moje jest krótkie ale okazało się co innego:) Dzięki za pomoc.
REKLAMA