-
Data: 2009-06-14 14:51:02
Temat: Re: Problem lekko OT, ale w WinAVR ;-)
Od: "T.M.F." <t...@n...mp.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]> Tak jak wspomniałem moim celem było: nie dopuścić do przerwania
> określonego fragmentu procedury przez inny wątek. To, że kompilator
> pomiędzy cli/sei skopiuje sobie wartość zmiennej do rejestrów tylko raz
> i będzie później banglał na tych rejestrach wcale mi nie przeszkadza,
> więc jakoś nie widziałem w tym momencie miejsca na volatile, bo zmienna
> w tej sekcji tak naprawdę wcale nie była ulotna.
Alez byla. Twoja zmienna jest typu int, czyli ma 2 bajty. AVR nie ma
instrukcji ladowania z pamieci 2 bajtow jednoczesnie, a wiec takie
przeslanie nie jest atomowe. Dlatego musisz okreslic ta zmienna jako
volatile i zapewnic atomowosc operacji przez blokowanie przerwan.
Zauwaz, ze gdyby uzyte przeslanie 16-bitowe bylo atomowe to blokowanie
przerwan w ogole nie byloby potrzebne. Tak jak pisalem, jesli tej
zmiennej nie okreslisz jako volatile to kompilator slusznie umieszcza to
przerwanie gdzie mu wygodniej - w koncu nie powiedziales mu, ze cos moze
wartosc tej zmiennej pomiedzy przeslaniami zmienic.
Zobacz tu:
http://www.nongnu.org/avr-libc/user-manual/group__ut
il__atomic.html
wraz z wyjasnieniem i przykladami - powinno sie przydac.
--
Inteligentny dom - http://idom.wizzard.one.pl
http://idom.sourceforge.net/
Teraz takze forum dyskusyjne
Zobacz, wyslij uwagi, dolacz do projektu.
Następne wpisy z tego wątku
- 14.06.09 09:34 Zbych
- 14.06.09 10:23 Grzegorz Kurczyk
- 14.06.09 10:46 Grzegorz Kurczyk
- 14.06.09 18:20 T.M.F.
- 14.06.09 18:23 T.M.F.
- 14.06.09 12:35 Zbych
- 15.06.09 02:35 T.M.F.
Najnowsze wątki z tej grupy
- Zawory termostatyczne
- Schemat automatyki
- Teoretyczne zagadnienie - ogrzewanie budynku
- Zagadka radiowa
- Prostownik
- Nowy akumulator Donut Lab
- Pilot do zamka/bramy
- Jaka myjka ultradźwiękowa?
- Retro organizer ale współcześnie
- Skąd diody LED 1,5V?
- Apollo Comm
- PICkit3 mnie pokonał
- LEDy na choinkę zdechły
- Wtopa LED
- Miało być zniesienie abonamentu RTV, a jest podwyżka!!!
Najnowsze wątki
- 2026-01-15 Zawory termostatyczne
- 2026-01-15 Białystok => Solution Architect (Workday) - Legal Systems <=
- 2026-01-15 Proces KARNY Braunowi (KPP) POLITYCZNIE służy? [+0.7% miesięcznie 2 razy]
- 2026-01-15 Białystok => Frontend Developer React <=
- 2026-01-15 Konto na zdalnym NAS - jak zabezpieczyc pliki?
- 2026-01-15 Myślenice => Junior SAP CO Consultant <=
- 2026-01-15 Wyjaśnienie patologii opisanej w art. pt. "Przeciw bezkarności biznesu"
- 2026-01-15 Wyjaśnienie patologii opisanej w art. pt. "Przeciw bezkarności biznesu"
- 2026-01-15 "deficyt budżetowy [na 2026r. -przyp. JMJ] jest prognozowany na poziomie 271,7"Gzł, czyli 74.52G$
- 2026-01-15 Miliardy z podatków znów popłynęły do TVP
- 2026-01-14 #Motodziennik test - Jaecoo E5 - słabe auto, słaby elektryk. A ZIMĄ NAWET BARDZO
- 2026-01-14 Piaseczno cd
- 2026-01-14 Robert do ciebie
- 2026-01-14 Prątki to zawalidrogi
- 2026-01-14 Naruszenie immunitetu ZP-RE Romanowskiego bezkarne (umorzenie śledztwa żurkotury)




5 Najlepszych Programów do Księgowości w Chmurze - Ranking i Porównanie [2025]