RTV forum PL | NewsGroups PL

Znaczenie bitu TWEA w ATmega16 w trybie podrzędnym i jego wpływ na komunikację I2C

ATmega16 i2c (TWI) i bit TWEA

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Znaczenie bitu TWEA w ATmega16 w trybie podrzędnym i jego wpływ na komunikację I2C

Heliogabal
Guest

Tue Aug 08, 2006 12:35 pm   



Jakie znaczenie ma bit TWEA, gdy ATmega pracuje w trybie podrzednym i wysyla
dane do mastera ? W ksiazce "Mikrokontrolery AVR ATmega w praktyce"
Baranowskiego (str.117) napisane jest, ze "okresla on, czy spodziewany jest
odbior potwierdzenia". Nie rozumiem tego, przeciez to master decyduje o tym,
czy dane maja byc nadal przesylane (jesli wystawi ACK) czy juz nie (dla
NACK), wiec po co slave ma okreslac czy spodziewane jest potwierdzenie ?

Heliogabal

AK
Guest

Tue Aug 08, 2006 8:44 pm   



Heliogabal napisał(a):
Quote:
Jakie znaczenie ma bit TWEA, gdy ATmega pracuje w trybie podrzednym i
wysyla dane do mastera ? W ksiazce "Mikrokontrolery AVR ATmega w
praktyce" Baranowskiego (str.117) napisane jest, ze "okresla on, czy
spodziewany jest odbior potwierdzenia". Nie rozumiem tego, przeciez to
master decyduje o tym, czy dane maja byc nadal przesylane (jesli wystawi
ACK) czy juz nie (dla NACK), wiec po co slave ma okreslac czy
spodziewane jest potwierdzenie ?
Cytat z data sheet:

If the TWEA bit is written to zero during a transfer, the TWI will
transmit the last byte of
the transfer. State $C0 or state $C8 will be entered, depending on
whether the Master
Receiver transmits a NACK or ACK after the final byte. The TWI is
switched to the not
addressed Slave mode, and will ignore the Master if it continues the
transfer. Thus the
Master Receiver receives all 1 as serial data. State $C8 is entered if
the Master
demands additional data bytes (by transmitting ACK), even though the
Slave has transmitted
the last byte (TWEA zero and expecting NACK from the Master).


Pozdr
AK
Quote:

Heliogabal


Heliogabal
Guest

Tue Aug 08, 2006 9:59 pm   



Użytkownik "AK":
Quote:
Cytat z data sheet:
If the TWEA bit is written to zero during a transfer, the TWI will
transmit the last byte of

Master Receiver receives all 1 as serial data. State $C8 is entered if

Rozumiem, ze w normalnej sytuacji powinno byc TWEA=1, ale jesli TWEA=0 to
master zostanie wprowadzony w blad, tak ? Mamy tu taka sytuacje, ze master
oczekuje danych, bo wystawil ACK, a tu nagle slave sie wylaczyl i w ten
sposob zamiast faktycznych danych master otrzymuje same jedynki. I taki
odbior trwa dopoki odczyta tyle bajtow, ile sobie zaplanowal nie wiedzac
nawet, ze slave juz nie reaguje. Gdzie tu sens ?

Heliogabal

AK
Guest

Wed Aug 09, 2006 5:20 pm   



Heliogabal napisał(a):
Quote:

Użytkownik "AK":
Cytat z data sheet:
If the TWEA bit is written to zero during a transfer, the TWI will
transmit the last byte of

Master Receiver receives all 1 as serial data. State $C8 is entered if

Rozumiem, ze w normalnej sytuacji powinno byc TWEA=1, ale jesli TWEA=0
to master zostanie wprowadzony w blad, tak ? Mamy tu taka sytuacje, ze
master oczekuje danych, bo wystawil ACK, a tu nagle slave sie wylaczyl i
w ten sposob zamiast faktycznych danych master otrzymuje same jedynki. I
taki odbior trwa dopoki odczyta tyle bajtow, ile sobie zaplanowal nie
wiedzac nawet, ze slave juz nie reaguje. Gdzie tu sens ?

Np. Slave emuluje pamiec EEPROM i master proboje czytac poza dozwolonym

obszarem ?

Pozdr
AK

elektroda NewsGroups Forum Index - Elektronika Polska - Znaczenie bitu TWEA w ATmega16 w trybie podrzędnym i jego wpływ na komunikację I2C

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map