Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

[Atmega8][Bascom][1wire][ds18b20] Brak transmisji

grendel123 12 Dec 2009 20:01 1565 2
  • #1
    grendel123
    Level 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?
  • Helpful post
    #2
    Wojtek75
    Level 24  
    W uC należy odpowiednio ustawić FUSE BITY!!!
    Poczytaj przyklejony temat.
  • #3
    grendel123
    Level 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.