-
Data: 2009-03-09 22:35:44
Temat: Re: uC poczatek
Od: "T.M.F." <t...@n...mp.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]>> Znaczy jak? Bo moge w kazdej chwili zablokowac pojedyncze typy
>> przerwan poprzez blokowanie flag na nie zezwalajacych. Flagi
>> zgloszenia poszczegolnych przerwan moge rowniez programowo zerowac.
>> Wiec w czym jest problem?
>
> W czasie jaki to zajmuje. Parę postów wcześniej próbowałeś udowodnić, że
> priorytety są zbędne, bo możesz odblokować inne przerwania w pierwszej
> instrukcji. Otóż nie zawsze możesz, bo albo peryferium na to nie pozwala
> (vide UART), albo musisz softowo blokować przerwania, których nie chcesz
> wpuścić. Wszystko to zajmuje czas.
Chyba sobie zartujesz w tym momencie. Dla '51 samo wejscie w procedure
obslugi przerwania trwa 3-9 cykli maszynowych (czyli 36-108 cykli
zegara). AVR w tym czasie wykona procedure o zlozonosci powaznego
schedulera dla OSu.
Zreszta policzmy ile to kosztuje
Najgorszy mozliwy wariant, czyli rejestr kontrolny jest spoza zasiegu
sbi/cbi:
PUSH R16
LD R16,rejestr z flaga
ORI R16, blokowane przerwania
STS rejestr, R16
SEI
Zajelo to 5 taktow. Dodatkowo 6 taktow kosztuje wejscie w procedure
obslugi, razem 11 taktow. W tym czasie '51 nie zdazy nawet zauwazyc, ze
jest przerwanie (aktywny poziom musi trwac co najmniej 12 taktow). Wiec
o czym ty mowisz?
Oczywiscie mozesz zapytac co kiedy masz kilka flag do zablokowania? No
problem, na malych prockach wiekszosc miesci sie w jednym rejestrze.
Jesli nawet w roznych to ciagle mamy spory zapas czasowy w stosunku do '51.
BTW, o co ci chodzi z tym UARTem?
Następne wpisy z tego wątku
- 09.03.09 23:00 Zbych
- 09.03.09 23:29 T.M.F.
- 09.03.09 23:52 zbyszek
- 10.03.09 08:00 T.M.F.
- 10.03.09 09:04 J.F.
- 10.03.09 09:23 Zbych
- 10.03.09 15:03 T.M.F.
- 10.03.09 18:33 Zbych
- 10.03.09 19:10 T.M.F.
- 10.03.09 19:42 Zbych
- 10.03.09 21:39 ArekS
- 10.03.09 21:51 Artur M. Piwko
- 11.03.09 23:19 zbyszek
- 12.03.09 18:21 T.M.F.
- 12.03.09 20:27 zbyszek
Najnowsze wątki z tej grupy
- Aliexpress zaczął oszukiwać na bezczelnego.
- OpenPnP
- taka skrzynka do kablowki
- e-paper
- 60 mA dużo czy spoko?
- Dziwne zachowanie magistrali adresowej w 8085
- Współczesne mierniki zniekształceń nieliniowych THD audio, produkują jakieś?
- Jaki silikon lub może klej?
- Smar do video
- Litowe baterie AA Li/FeS2 a alkaliczne
- "ogrodowa linia napowietrzna"
- jaki zasilacz laboratoryjny
- jaki zasilacz laboratoryjny
- Puszka w ziemię
- T-1000 was here
Najnowsze wątki
- 2025-02-21 Warszawa => Key Account Manager IT <=
- 2025-02-21 Warszawa => Data Engineer (Tech Lead) <=
- 2025-02-21 Aliexpress zaczął oszukiwać na bezczelnego.
- 2025-02-21 Warszawa => System Architect (Java background) <=
- 2025-02-21 Kula w łeb
- 2025-02-21 Warszawa => System Architect (background deweloperski w Java) <=
- 2025-02-21 Warszawa => Solution Architect (Java background) <=
- 2025-02-21 Lublin => JavaScript / Node / Fullstack Developer <=
- 2025-02-21 Pawel S
- 2025-02-21 Warszawa => Key Account Manager (Usługi HR) <=
- 2025-02-21 Katowice => Senior Field Sales (system ERP) <=
- 2025-02-21 Chrzanów => Programista NodeJS <=
- 2025-02-21 Wrocław => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-02-21 Warszawa => Administrator Systemów Windows IT <=
- 2025-02-21 Wrocław => Specjalista ds. Sprzedaży (transport drogowy) <=