RTV forum PL | NewsGroups PL

Współdzielona zmienna typu Integer w przerwaniach w BASCOM-AVR - jak unikać błędów?

[bascom] wspoldzielona zmienna w przerwaniach

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Współdzielona zmienna typu Integer w przerwaniach w BASCOM-AVR - jak unikać błędów?

roxy
Guest

Thu Apr 22, 2010 3:11 pm   



Witam
Jak to jest w bascom avr ze wspoldzieloną zmienna np. integer?

Zakladam ze w procedurze obsugi przerwania przypisuje zmiennej typu integer
(2 bajty) nowa wartosc.
W funkcji glownej natomiast dokonuje porownania tej zmennej za pomocą
instrukcji if ...then.
Czy przed tym porownaniem musze sam zadbac o wylaczenie przerwan aby nie
spowodowac blednego wyniku porownania?

Jak to wlasciwie jest w bascomie ze zmiennym, czy jest jakas instrukcja lub
definicja zmiennej ktory jest odpowiednikiem volatile w jezyku C?
Jak wymusic na zmiennej aby pobrała wartosc zmiennej z pamieci SRAM a nie
korzystała z wartosci umieszczonych w rejestrach?
Moglby ktos to wyjasnic jak Bascom sobie z tym radzi?
Dziekuje za pomoc





__________ Informacja programu ESET NOD32 Antivirus, wersja bazy sygnatur wirusow 5050 (20100422) __________

Wiadomosc zostala sprawdzona przez program ESET NOD32 Antivirus.

http://www.eset.pl lub http://www.eset.com

Marcin Wasilewski
Guest

Thu Apr 22, 2010 4:08 pm   



Użytkownik "roxy" <kicak@o2.pl> napisał w wiadomości
news:hqpoul$qfg$1@news.onet.pl...

Quote:
Moglby ktos to wyjasnic jak Bascom sobie z tym radzi?
Dziekuje za pomoc

Mogę ci powiedzieć jak to się robi w assemblerze i C.
Otóż nigdy nie jesteś pewien momentu w którym przerwanie będzie wywołane.
Jeśli zmienna jest 16 bitowa, to realna jest sytuacja, że np. pierwszy bajt
odczytany będzie przed obsługą przerwania, a drugi po. Tak więc jeśli
operacja krytyczna jest wykonywana w więcej niż jednej instrukcji kodu
maszynowego (wiem - w bascomie ciężko to ocenić), to zawsze na czas
wykonywania takiego fragmentu kodu należy wyłączyć obsługę przerwań.

elektroda NewsGroups Forum Index - Elektronika Polska - Współdzielona zmienna typu Integer w przerwaniach w BASCOM-AVR - jak unikać błędów?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map