-
Path: news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.nask.pl!new
s.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: Sat, 13 Jun 2009 09:44:28 +0200
Organization: -
Lines: 42
Message-ID: <r...@4...com>
References: <h0qku7$a6o$1@atlantis.news.neostrada.pl>
<h0ud45$219$1@atlantis.news.neostrada.pl> <h0udur$2j2d$1@news.mm.pl>
<h0v0bq$jmg$1@nemesis.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 1244877998 1254 82.143.187.50 (13 Jun 2009 07:26:38 GMT)
X-Complaints-To: u...@n...interia.pl
NNTP-Posting-Date: Sat, 13 Jun 2009 07:26:38 +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:565318
[ ukryj nagłówki ]On Sat, 13 Jun 2009 03:35:54 +0200, Grzegorz Kurczyk wrote:
>Pamiętam, że jakaś starsza wersja (chyba z 2006) kompilowała to bez
>przestawiania. Funkcja jest z biblioteki, którą napisałem dawno temu i
>sprawdzałem kod wynikowy. W wersji WinAVR20090313 faktycznie pomogło
>volatile przy definicji wskaźnika int *pEncoderValue. Zaskoczyło mnie,
>że volatile może być tu przydatne, bo jednak bardziej służy ono do
>lokalnego wyłączenia optymalizacji dotyczącej danej zmiennej, a nie do
>zmiany kolejności operacji nie mających nic wspólnego z tą zmienną.
Volatile nie sluzy do optymalizowania, tylko mowi kompilatorowi ze
zmienna moze sie zmienic w dowolnym momencie. W zwiazku z czym nie
wolno mu optymalizowac kodu zakladajac ze sie nie zmienia.
Bo jak zalozyc ze nie zmienia sie w przerwaniach/samoczynnie, to
kompilator moze przeprowadzic bardzo gleboka optymalizacje - np
zalozyc ze zmienna jest zawsze 0 i zlikwidowac caly program.
>Z drugiej strony taka zmiana sekwencji rozkazów sterujących przez
>kompilator wydaje mi się trochę dziwna, bo w pewnych sytuacjach ma ona
>wpływ na wartość obliczeń
Programisci sa przed tym wyraznie ostrzegani, ze program moze to
zrobic, i maja stosownie pisac program.
Albo rybki albo akwarium - albo efektywny program, albo robiacy
dokladnie to co programista zapisal :-)
>(właśnie aby tego uniknąć blokowałem
>przerwania). Idąc tym tropem kompilator mógłby "dojść do wniosku", że
>sekwencję:
>sbi(PORTB, 1);
>sbi(PORTB, 2);
>sbi(PORTB, 3);
>można zamienić na:
>sbi(PORTB, 3);
>sbi(PORTB, 2);
>sbi(PORTB, 1);
Tak to nie, bo to jednak i operacja specjalna i taka "wyjsciowa",
ale juz kolejnosc odczytow z portow moglby przestawic.
J.
Następne wpisy z tego wątku
- 13.06.09 14:35 T.M.F.
- 13.06.09 14:36 T.M.F.
- 13.06.09 14:37 T.M.F.
- 13.06.09 10:10 Grzegorz Kurczyk
- 13.06.09 10:10 Zbych
- 13.06.09 10:18 Zbych
- 13.06.09 10:31 Grzegorz Kurczyk
- 13.06.09 10:34 Grzegorz Kurczyk
- 13.06.09 10:35 J.F.
- 13.06.09 11:01 Grzegorz Kurczyk
- 13.06.09 11:24 J.F.
- 13.06.09 11:37 Grzegorz Kurczyk
- 13.06.09 17:48 T.M.F.
- 13.06.09 12:17 Grzegorz Kurczyk
- 13.06.09 13:09 J.F.
Najnowsze wątki z tej grupy
- DS1813-10 się psuje
- Taki tam szkolny problem...
- LIR2032 a ML2032
- SmartWatch Multimetr bezprzewodowy
- olej psuje?
- Internet w lesie - Starlink
- Opis produktu z Aliexpress
- No proszę, a śmialiście się z hindusów.
- Zewnętrzne napięcie referencyjne LM385 1,2V -> 100mV dla ICL7106, Metex M-3800
- karta parkingowa
- Wl/Wyl (On/Off) bialy/niebieski
- I3C
- Pytanie o transformator do dzwonka
- międzymordzie USB 3.2 jako 2.0
- elektronicy powinni pomysleć o karierze elektryka
Najnowsze wątki
- 2024-11-24 Aby WKOOOORWIĆ ekofaszystów ;-)
- 2024-11-22 OC - podwyżka
- 2024-11-22 wyszedł z domu bez buta
- 2024-11-22 Bieda hud.
- 2024-11-24 DS1813-10 się psuje
- 2024-11-23 Białystok => Inżynier bezpieczeństwa aplikacji <=
- 2024-11-23 Szczecin => QA Engineer <=
- 2024-11-23 Warszawa => SEO Specialist (15-20h tygodniowo) <=
- 2024-11-22 Warszawa => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-11-22 Warszawa => Senior Account Manager <=
- 2024-11-22 Warszawa => Key Account Manager <=
- 2024-11-22 Warszawa => DevOps Specialist <=
- 2024-11-22 Kraków => IT Expert (Network Systems area) <=
- 2024-11-22 Warszawa => Infrastructure Automation Engineer <=
- 2024-11-22 Warszawa => Presales / Inżynier Wsparcia Technicznego IT <=