-
Data: 2009-06-13 10:31:18
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 T.M.F. napisał:
> Skad masz makra sei() i cli()? To twoja wlasna definicja czy z
> biblioteki avr-glibc - pliku interrupts.h?
> Zakladam, ze twoja wlasna, stad problemy. Oryginalna prawidlowa
> definicja wyglada tak:
> #define sei() __asm__ __volatile__ ("sei" ::)
Niestety oryginalne z interrupt.h i są one tam zdefiniowane dokładnie
tak jak Kolega napisał.
> Zwroc uwage na slowo volatile. Swoja droga przeczytaj jak volatile
> dziala to rozwiaze sie wiele twoich dziwnych klopotow.
W dużym uproszczeniu ogranicza kompilatorowi możliwości optymalizacji. W
stosunku do zmiennej wymusza bezwarunkowe każdorazowe czytanie aktualnej
wartości zmiennej z pamięci przed wykonaniem jakichkolwiek operacji na
zmiennej. Czyli kompilatorowi nie wolno dla uproszczenia/przyśpieszenia
kodu banglać przez cała procedurę na wartości skopiowanej do rejestrów.
Inaczej mówiąc zmienna ma być tak traktowana jakby jej zawartość mogła
się w każdej chwili zmienić (np. przez inny wątek programu). W
kontekście powyższego (chyba, że jest jednak inna definicja volatile)
nadal nie mogę zrozumieć z jakiej paki rozkaz sei() umieszczony na końcu
funkcji znalazł się nagle na jej początku.
Pozdrawiam
Grzegorz
Następne wpisy z tego wątku
- 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
- 14.06.09 10:46 Grzegorz Kurczyk
- 14.06.09 18:20 T.M.F.
- 14.06.09 18:23 T.M.F.
Najnowsze wątki z tej grupy
- Leżakujące SSD gubią po roku dane
- kolorowy e-paper
- Sterownik kotła CO praca PWM
- Jakie baterie A23 i LR44?
- OLED SSD1306 - degradacja?
- Który symulator AVR jest ,,prawilny"?
- Disk on Module, czym to odczytać?
- Pasta ochronna? Lutownicza?
- zagadka pneumatyczna
- Klip testowy, jak sie to używa
- 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
Najnowsze wątki
- 2025-12-02 logowanie do wifi
- 2025-12-02 przelew przychodzący Alior
- 2025-12-02 Czyli już wolno "likwidować" rozbitków USA? [Wzajemności zasada najświętszą jest]
- 2025-12-01 #motodziennik 356 - 3.0TDI wraca, Tesla z PRZYCISKAMI, Fiat 500 z ceną, OPŁATA DROGOWA od ELEKTRYKÓW
- 2025-12-01 Białystok => Konsultant Microsoft Dynamics AX/365 SCM Consultant - Se
- 2025-12-01 Białystok => Dynamics 365 Commerce/POS Developer <=
- 2025-12-01 Białystok => Konsultant ERP Microsoft Dynamics 365 Commerce <=
- 2025-12-01 Białystok => React Developer with knowledge of C++ <=
- 2025-12-01 Poznań => Specjalista ds. Marketingu Online (PPC) <=
- 2025-12-01 Białystok => Microsoft Dynamics 365 Finance Consultant <=
- 2025-12-01 Warszawa => Fullstack PHP Developer <=
- 2025-12-01 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2025-12-01 Wrocław => Programista React ze znajomością C++ <=
- 2025-12-01 Warszawa => Spedytor Międzynarodowy <=
- 2025-12-01 Warszawa => Architekt rozwiązań (Workday) - Legal Systems <=




Ile kosztują tanie mieszkania w polskich metropoliach?