Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Wychodza dziwne wartosci przy obliczeniach dla i2C (czestotliwosc)

Templarious 12 Gru 2015 15:41 1020 4
  • #1 12 Gru 2015 15:41
    Templarious
    Poziom 22  

    Witam,

    Piszę od nowa program dla DS1307. Mój problem polega na tym, że dziwne wychodzą mi wartości podczas wyliczania jaką wartość powinien mieć rejestr TWBR.

    Dane:

    częstotliwość Atmega8l = 1000000 | 1Mhz
    TWPS = 1 (preskaler 1)
    SCL= 100khz (DS1307)

    Podstawiając to do wzoru z dok. technicznej Atmega8l Link strona 164 wychodzi mi wartość TWBR 781250.

    Proszę o pomoc :(

    0 4
  • #2 12 Gru 2015 15:51
    linuxtorpeda
    Poziom 19  

    "The CPU clock frequency in the Slave must be at least 16 times higher than the SCL frequency."

    Mówiąc po polsku, nie ustawisz tego tak, jak chcesz to ustawić, bo to niemożliwe.

    0
  • #4 13 Gru 2015 01:04
    linuxtorpeda
    Poziom 19  

    Możesz ustawić SCL na w miarę dowolną wartość, żadnych efektów ubocznych raczej nie odnotujesz.

    Dla TWBR=0 dostaniesz 62.5 kHz, dla TWBR=1 41.7 kHz, dla TWBR=2 31.3 kHz, dla TWBR=16 6.9 kHz. Dla każdej z tych (i nie tylko) wartości DS1307 powinien działać poprawnie.

    0