eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaAVR i TWI (I2C)Re: AVR i TWI (I2C)
  • Data: 2009-02-11 07:53:08
    Temat: Re: AVR i TWI (I2C)
    Od: "PcmOL" <...@...net> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    "PH" <s...@w...pl> wrote in message
    news:gmt4jf$uo4$1@julia.coi.pw.edu.pl...
    > Adam Wysocki pisze:
    >> Cześć,
    >>
    >> Próbuję użyć TWI w AVR i mam pytanie - skąd mam wiedzieć, że STOP już
    >> został wysłany i mogę wysłać następny START?
    >>
    >
    > void i2c_stop(void)
    > {
    > /* send stop condition */
    > TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWSTO);
    >
    > // wait until stop condition is executed and bus released
    > while(TWCR & (1<<TWSTO));
    >
    > }/* i2c_stop */
    >
    >
    > Czyli dopóki TWSTO jest wysokie, to nic nie powinieneś robić.
    > Ale.. osobiście miałem problemy z slave'ami które miały z jakiegoś powodu
    > wolną obsługę I2C. Za stopem a przed kolejnym startem, wstawiałem delaya -
    > i się już dobrze bujało.

    Ciekawiej się robi w środowisku multimaster.
    Jest sobie SLAVE RECEIVER i czeka na stop, żeby przełączyc sie na MASTER
    TRANSMITTER i wysłać swoje.
    Niby jest TWSR = A0 ( TWI_SRX_STOP_RESTART), ale jak elegancko rozróżnić te
    dwa stany?
    Eeech.... biorę się za lekture.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: