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

Atmega32 i 8583T zegar probelem z adresowaniem

antenek 23 Paź 2011 17:16 1330 4
REKLAMA
  • #1 10057499
    antenek
    Poziom 19  
    Witajcie. Zbudowałem sobie zegarek z atmegi ale mam mały problem

    TWI_Start(); // start transmission
    TWI_Write(0xA2); // write addres of M41T00
    TWI_Write(0x00); // select first register
    TWI_Start(); // repeated start
    TWI_Write(0xA3); // write address for reading data

    W ten sposób uruchomiłem transmisję po TWI. Kod był miksem kilku innych kodów onalezionych na elektrodzie.
    Moje pytanie brzmi

    Dlaczego pojawia się 0xA2 ?

    W dokumentacji jest tylko wzmianka :
    " Slave addresses: A1h or A3h for reading, A0h or A2h for writing "
    Który parametr zmienia pin A0 ? bo chwilowo mam go podpiętego pod zasilanie.

    Pozdrawiam
  • REKLAMA
  • #2 10058095
    kiziu13
    Poziom 17  
    Pin A0 układu jest używany do zmiany adresu układu na szynie TWI.
    Atmega32 i 8583T zegar probelem z adresowaniem
    Podłączając go do Vcc bądź GND zmieniasz po prostu jego wartość pomiędzy 1 a 0, co powoduje zmiany adresów. Ostatni bit jak to w adresach TWI, służy do oznaczenia kierunku transmisji.
  • REKLAMA
  • #3 10058130
    antenek
    Poziom 19  
    Czyli 0xA0 albo 0xA2 to są adresy zegara w zależności od podpięcia PINu A0 do Vcc albo GND ?
    Jeśli dobrze rozumiem to adresy 0xA1 i 0xA3 zmieniają się tak samo i wysyłamy je jedynie gdy chcemy odczytać zawartość rejestrów zegara. W przypadku zapisu nie podajemy już (0xA1 i 0xA3) tylko dane ?
  • REKLAMA
  • #4 10058161
    kiziu13
    Poziom 17  
    Zgodnie z obrazkiem, jeśli A0 podepniesz do GND, to w przypadku czytania adres będzie 0xA1 oraz 0xA0 w przypadku zapisu. Jeśli podepniesz A0 do Vcc, to adresy będą 0xA3 - czytanie, 0xA2 - pisanie. Reszta komunikacji z układem pozostaje bez zmian, tak jak ją opisano w DSie.
  • #5 10058172
    antenek
    Poziom 19  
    Dzięki już sobie przekodowałem z hexów na bity i to widzę :) .

    Dzięki jeszcze raz
REKLAMA