-
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.task.gda.pl!news.mm.pl!not-for-
mail
From: Zbych <a...@o...pl>
Newsgroups: pl.misc.elektronika
Subject: Re: Problem lekko OT, ale w WinAVR ;-)
Date: Fri, 12 Jun 2009 22:30:19 +0200
Organization: Multimedia Polska S.A.
Lines: 24
Message-ID: <h0udur$2j2d$1@news.mm.pl>
References: <h0qku7$a6o$1@atlantis.news.neostrada.pl>
<h0ud45$219$1@atlantis.news.neostrada.pl>
NNTP-Posting-Host: host-62-141-227-0.tomaszow.mm.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: news.mm.pl 1244838683 85069 62.141.227.0 (12 Jun 2009 20:31:23 GMT)
X-Complaints-To: a...@m...pl
NNTP-Posting-Date: Fri, 12 Jun 2009 20:31:23 +0000 (UTC)
User-Agent: Thunderbird 2.0.0.21 (Windows/20090302)
In-Reply-To: <h0ud45$219$1@atlantis.news.neostrada.pl>
Xref: news-archive.icm.edu.pl pl.misc.elektronika:565301
[ ukryj nagłówki ]Grzegorz Kurczyk pisze:
> Nie wiem czemu kompilator wywalił pobieranie zmiennej poza sekcję
> cli/sei ? To samo jest w najnowszej wersji.
Tutaj akurat kompilator ma rację - może przestawiać instrukcje do woli
póki nie wpływa to na wynik obliczeń (ani cli, ani sei nie wpływa na
obliczenia, atomowość nie jest brana pod uwagę). Żeby kompilator nie
wywlekał obliczeń poza sekcję krytyczną trzeba zrobić barierę na
pamięci. Twój program powinien wyglądać tak:
int GetEncoder(void) {
asm volatile ("cli":::"memory");
int e = *pEncoderValue;
asm volatile ("sei":::"memory");
return e;
}
Lepiej będzie jednak jak użyjesz makr zdefiniowanych w pliku atomic.h
--
przeciez moje rozumowanie bylo bez skazy,
no sam bym wskoczyl do tego wulkanu,
ale kto by tak pieknie gwizdal...
Następne wpisy z tego wątku
- 13.06.09 01:35 Grzegorz Kurczyk
- 13.06.09 06:43 Grzegorz Kurczyk
- 13.06.09 07:28 Zbych
- 13.06.09 07:44 J.F.
- 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.
Najnowsze wątki z tej grupy
- Weryfikacja myjki ultradźwiękowej
- zasieg radaru
- Zmywarka Bosch SRV55T43EU - awaria
- Kod zniżkowy w TME do 26.09.2025
- SFP, 10G, simplex sc/apc
- [słabe wiatry powodują - przyp. JMJ] Energetyczny paraliż w Niemczech
- NxtPaper
- Programiści nie przestają zadziwiać świat
- Długi kabel zasilający a na końcu procek
- Dlaczego nam nie idzie
- Co czujnik to inna temperatura
- Jak naprawić pilota
- Dlaczego TMP wer. 2.0 nie może być sprzedawany jako patyk USB lub karta PCIe 1x?!?
- produkcja w UE
- Pamięć SRAM nie działa z Z80182
Najnowsze wątki
- 2025-09-21 Duduś chce zostać milionerem! Już zaciągnął kredyt i kupił mieszkanie 700m2, a teraz napisał i wydał ks. pt. "To ja"!
- 2025-09-21 Nowe uprawnienia PIP od 1 stycznia 2026
- 2025-09-21 Weryfikacja myjki ultradźwiękowej
- 2025-09-21 Wyłudzenia świadczeń przez obcokrajowców
- 2025-09-21 wprowadzili system kaucyjny ustawą
- 2025-09-20 W Play chciałem kupić Huawei -- jako swój pierwszy smartfon...
- 2025-09-20 W Play chciałem kupić Huawei -- jako swój pierwszy smartfon...
- 2025-09-20 Kopiowanie telefonu
- 2025-09-20 Warszawa => AWS Cloud Engineer <=
- 2025-09-20 Łódź => Regular Network Engineer <=
- 2025-09-20 Gdynia => Przedstawiciel handlowy / KAM (branża TSL) <=
- 2025-09-20 wrzesień
- 2025-09-20 Łomiarz wychodzi w marcu
- 2025-09-19 Czeladź => Specjalista ds. public relations <=
- 2025-09-19 Warszawa => International Freight Forwarder <=