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][1wire][ds18b20] Brak transmisji

grendel123 12 Gru 2009 20:01 1619 2
REKLAMA
  • #1 7379820
    grendel123
    Poziom 15  
    Witam kolegów,
    Znając życie czegoś nie doczytałem, ale po kilku godzinach pytania Wielkiego Googla i szukania tutaj na forum nie znalazłem konkretnej odpowiedzi. Zaznaczam, że dopiero zaczynam się bawić Bascom'em.

    Problem polega na braku transmisji z DS18b20 przez obsługę 1wire zaimplementowaną do Bascom. Pracuje na wewnętrznym oscylatorze. Jeżeli ustawie $crystal = 1000000 wszystko działa. Jeśli ustawie jednak więcej (chciałbym $crystal = 8000000) to procesor nie komunikuje się z DS (nie ma odpowiedzi na 1wreset).

    W większości programów, które widziałem jest $crystal = 8000000 i nie ma problemów.
    Znalazłem informację, że Bascom konfiguruje czasy sygnałów na 1wire na podstawie $crystal więc nie powinno być problemów.
    Czy coś trzeba skonfigurować w Bascom, żeby obsługiwać 1wire przy zegarze 8Mhz?
    Jak będzie z kwarcami zewnętrznymi? Też będzie problem?
  • REKLAMA
  • Pomocny post
    #2 7379884
    Wojtek75
    Poziom 24  
    W uC należy odpowiednio ustawić FUSE BITY!!!
    Poczytaj przyklejony temat.
  • #3 7380236
    grendel123
    Poziom 15  
    Nie wiem czy dobrze myślę, ale bez względu na ustawienie parametru $crystal w Bascom i tak procesor działa na domyślnych 1MHz (co można zmienić przez odpowiednie FuseBity), a wartość podana w programie służy tylko do wykonania odpowiedniej kompilacji (i określenia czasów przy 1wire w kodzie)?


    ---------------------------------

    Sam sobie odpowiadam - dokładnie tak jest. W swojej wielkiej naiwności myślałem, że Bascom sam sobie potrafi ustawić wewnętrzny oscylator. Dziękuję za "wędkę" Kolego Wojtek75. Pozdrawiam.
REKLAMA