-
Data: 2009-06-13 10:10:15
Temat: Re: Problem lekko OT, ale w WinAVR ;-)
Od: Grzegorz Kurczyk <g...@c...slupsk.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Użytkownik Zbych napisał:
>
> Dlatego napisałem, że do takich rzeczy jak sekcje atomowe są makra
> zdefiniowane w pliku atomic.h, a ty uparcie chcesz rzeźbić ręcznie
> (pomijając przy tym barierę).
Nie, no nie chcę nic robić uparcie. Sugestie Kolegi bardzo mi pomogły,
za co serdecznie dziękuję. Akurat w moim przypadku wystarczyło volatile,
ale gdybym nie spojrzał do .lss to żyłbym w błogiej nieświadomości będąc
pewnym, że zablokowałem przerwania w krytycznej sekcji programu i
zastanawiając się dlaczego program kiksuje raz na ruski miesiąc. Tym
bardziej, że w poprzedniej wersji kompilatora kolejność działań była
taka jak w źródłówce. Z biblioteki atomic.h nie miałem jeszcze okazji
korzystać, ale widzę, że chyba najwyższy czas :-) Nie narzekam na
WinAVR, bo to niezły kompilator, ale główny problem w tym, że program,
który w danej wersji WinAVR bez problemu się kompilował i co
najważniejsze działał poprawnie, w nowszej wywala błędy kompilacji (co
nie jest problemem), ale co gorsza kompilacja przechodzi bezbłędnie,
tylko program chodzi nie do końca tak jak powinien. Z tego powodu z dużą
rezerwą podchodzę do nowych wersji kompilatora.
Problem w tym skąd mam wiedzieć (poza "brutalnym" zajrzeniem do pliku
.lss), w którym momencie muszę posiłkować się sztuczką typu ATOMIC_BLOCK
lub czymś podobnym, bo kompilator może wygenerować kod, nie do końca
zgodny z założeniami autora kodu źródłowego. W podanym wcześniej
przykładzie w jednej procedurze było źle, a w następnej już dobrze i
nijak nie mogę wydedukować z czego to wynika. W przypadku volatile
sytuacja jest jasna, ale z tym sei to kompilator zrobił mi psikusa, bo
jest to pierwszy taki przypadek. Przecież sekcji cli() {..} sei() używa
się dość często. W większych programach mam ich dużo i to jest jak na
razie jedyna funkcja, w której takie zjawisko mi wystąpiło (choć po tym
kwiatku nie jestem już tego taki pewien i dla pewności skorzystam z rady
Kolegi Zbycha i porobię klamerki ATOMIC_BLOK).
Pozdrawiam i dziękuję za udział w dyskusji.
Grzegorz
Następne wpisy z tego wątku
- 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.
- 13.06.09 22:49 Grzegorz Kurczyk
- 14.06.09 14:51 T.M.F.
- 14.06.09 09:34 Zbych
- 14.06.09 10:23 Grzegorz Kurczyk
Najnowsze wątki z tej grupy
- Jak sie smazy elektronike z odleglosci kilkuset metrów?
- William Shockley, co-inventor of the transistor
- Gazowy kocioł CO regulacja cyklingu i regulacja pogodowa
- Zamek elektroniczny
- szablon do pasty DIY
- Głośnik potrzebny
- Silikonowy przewód ekranowany
- Wtyk bananowy ekranowany
- Co może być gorsze od pożaru elektryka?
- daltonizm
- Mały Linux
- Superkondensator. Czy to się uda?
- Stare filmy o technice
- Zasilanie własnych konstrukcji przez PoE
- Jak działa domofon?
Najnowsze wątki
- 2025-11-07 OBD2 napięcie akumulatora
- 2025-11-06 citek i GP.
- 2025-11-06 envelo - list polecony
- 2025-11-06 Ostrów Wielkopolski => Specjalista ds. Marketingu Online (PPC) <=
- 2025-11-06 Warszawa => Strategic Account Manager <=
- 2025-11-06 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2025-11-06 Ktoś się wybiera?
- 2025-11-05 Warszawa => C Programmer <=
- 2025-11-05 Rzeszów => International Freight Forwarder <=
- 2025-11-05 Warszawa => OSS System Administrator <=
- 2025-11-05 Gdańsk => Programista Delphi <=
- 2025-11-05 Warszawa => AWS Cloud Engineer <=
- 2025-11-05 Wrocław => Programista React ze znajomością C++ <=
- 2025-11-05 Wrocław => React Developer with knowledge of C++ <=
- 2025-11-04 A jednak o prawnikach




Elektromobilność dojrzewa. Auta elektryczne kupujemy z rozsądku, nie dla idei