eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaProblem lekko OT, ale w WinAVR ;-)Re: Problem lekko OT, ale w WinAVR ;-)
  • Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!newsfeed.pionier.net.pl!news.nask.pl
    !news.nask.org.pl!feed.news.interia.pl!not-for-mail
    From: J.F. <j...@p...onet.pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: Problem lekko OT, ale w WinAVR ;-)
    Date: Fri, 12 Jun 2009 22:30:09 +0200
    Organization: -
    Lines: 59
    Message-ID: <f...@4...com>
    References: <h0qku7$a6o$1@atlantis.news.neostrada.pl>
    <h0ud45$219$1@atlantis.news.neostrada.pl>
    NNTP-Posting-Host: h82-143-187-50-static.e-wro.net.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: 8bit
    X-Trace: news.interia.pl 1244837537 21584 82.143.187.50 (12 Jun 2009 20:12:17 GMT)
    X-Complaints-To: u...@n...interia.pl
    NNTP-Posting-Date: Fri, 12 Jun 2009 20:12:17 +0000 (UTC)
    X-Newsreader: Forte Agent 1.93/32.576 English (American)
    X-Authenticated-User: jjjfox % interia+pl
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:565299
    [ ukryj nagłówki ]

    On Fri, 12 Jun 2009 22:15:03 +0200, Grzegorz Kurczyk wrote:
    >Chyba kolejny mały kwiatek.
    >int GetEncoder(void) {
    > cli();
    > int e = *pEncoderValue;
    > sei();
    > return e;
    >}

    A cos tu jest volatile ?
    Bo moze mial prawo, jesli uwaza ze tak mu wygodniej ..


    >
    >zostało przetłumaczone na:
    >
    >int GetEncoder(void) {
    > cli();
    > 1476: f8 94 cli
    > int e = *pEncoderValue;
    > sei();
    > 1478: 78 94 sei
    > 147a: e0 91 3a 01 lds r30, 0x013A
    > 147e: f0 91 3b 01 lds r31, 0x013B
    > return e;
    >}
    > 1482: 80 81 ld r24, Z
    > 1484: 91 81 ldd r25, Z+1 ; 0x01
    > 1486: 08 95 ret
    >
    >Nie wiem czemu kompilator wywalił pobieranie zmiennej poza sekcję
    >cli/sei ? To samo jest w najnowszej wersji.
    >
    >Moim skromnym zdaniem powinno być tak:
    >
    >int GetEncoder(void) {
    >f8 94 cli
    >e0 91 3a 01 lds r30, 0x013A
    >f0 91 3b 01 lds r31, 0x013B
    >80 81 ld r24, Z
    >91 81 ldd r25, Z+1 ; 0x01
    >78 94 sei
    >08 95 ret
    >
    >lub tak:
    >
    >int GetEncoder(void) {
    >e0 91 3a 01 lds r30, 0x013A
    >f0 91 3b 01 lds r31, 0x013B
    >f8 94 cli
    >80 81 ld r24, Z
    >91 81 ldd r25, Z+1 ; 0x01
    >78 94 sei
    >08 95 ret
    >
    >
    >Pozdrawiam
    >Grzegorz

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

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: