eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaAVR i TWI (I2C)Re: AVR i TWI (I2C)
  • Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.task.gda.pl!not-for-mail
    From: "PcmOL" <...@...net>
    Newsgroups: pl.misc.elektronika
    Subject: Re: AVR i TWI (I2C)
    Date: Wed, 11 Feb 2009 08:53:08 +0100
    Organization: CI TASK http://www.task.gda.pl/
    Lines: 32
    Message-ID: <gmu05l$h5h$1@news.task.gda.pl>
    References: <g...@n...chmurka.net>
    <gmt4jf$uo4$1@julia.coi.pw.edu.pl>
    NNTP-Posting-Host: 90-156-65-160.magma-net.pl
    Mime-Version: 1.0
    Content-Type: text/plain; format=flowed; charset="iso-8859-2"; reply-type=response
    Content-Transfer-Encoding: 8bit
    X-Trace: news.task.gda.pl 1234338805 17585 90.156.65.160 (11 Feb 2009 07:53:25 GMT)
    X-Complaints-To: a...@n...task.gda.pl
    NNTP-Posting-Date: Wed, 11 Feb 2009 07:53:25 +0000 (UTC)
    X-Priority: 3
    X-MSMail-Priority: Normal
    X-Newsreader: Microsoft Outlook Express 6.00.2900.5512
    X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:556703
    [ ukryj 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: