Przerwania w '51
Masz problem? Zapytaj na forum elektroda.pl
From: "Piotr C." <Piotr_at_nospam_MaBanana.com.INVALID>
Subject: Przerwania w '51
Date: Sun, 24 Nov 2002 01:33:41 +0100
Witam
Proste (chyba) pytanko: timer1 ma wyższy priorytet niż odbiór szeregowy.
Jeśli w trakcie obsługi przerwania timera zostanie odebrany bajt, to czy
momentalnie po wykonaniu RETI w procedurze timera 1 zostanie wywołana
obsługa przerwania szeregowego (raczej tak, ale muszę wiedzieć to napewno),
czy też bajt "przepada"?
Piotr
From: "edek" <k_at_nospam_ii.pl>
Subject: Re: Przerwania w '51
Date: Sun, 24 Nov 2002 03:03:11 +0100
Użytkownik "Piotr C." <Piotr_at_nospam_MaBanana.com.INVALID> napisał w wiadomości
news:arp6o3$u55$1_at_nospam_topaz.icpnet.pl...
Witam
Proste (chyba) pytanko: timer1 ma wyższy priorytet niż odbiór szeregowy.
Jeśli w trakcie obsługi przerwania timera zostanie odebrany bajt, to czy
momentalnie po wykonaniu RETI w procedurze timera 1 zostanie wywołana
obsługa przerwania szeregowego (raczej tak, ale muszę wiedzieć to
napewno),
czy też bajt "przepada"?
Zostanie wywolane "momentalnie"
ale to nie gwarantuje ze bajt nie przepadnie
(bo te "momentalnie" to moze juz byc o wiele za pozno :)))
Ustaw se lepiej priorytet seriala na najwyzszy i po problemie.
edek
From: "Piotr C." <Piotr_at_nospam_MaBanana.com.INVALID>
Subject: Re: Przerwania w '51
Date: Sun, 24 Nov 2002 12:06:50 +0100
Użytkownik "edek" <k_at_nospam_ii.pl> napisał w wiadomości
news:arpbfk$l1l$1_at_nospam_news.onet.pl...
Ustaw se lepiej priorytet seriala na najwyzszy i po problemie.
A da sie? JAK?
Piotr
From: "IYIS" <m__s_at_nospam_wp.pl>
Subject: Re: Przerwania w '51
Date: Sun, 24 Nov 2002 12:15:59 +0100
Ustaw se lepiej priorytet seriala na najwyzszy i po problemie.
A da sie? JAK?
SETB PS
CLR PT1
Ale zastanów się czy to naprawdę konieczne.
Jak szybko chodzi RS i jak długa obsługa przerwania?
--
_
|\ /| (_ m__s_at_nospam_wp.pl
| | ___) G-G 531829
___________________________
Ziemia jest piekłem innego świata
From: "Piotr C." <Piotr_at_nospam_MaBanana.com.INVALID>
Subject: Re: Przerwania w '51
Date: Sun, 24 Nov 2002 13:13:43 +0100
Użytkownik "IYIS" <m__s_at_nospam_wp.pl> napisał w wiadomości
news:arqcd4$ddv$1_at_nospam_news.tpi.pl...
SETB PS
CLR PT1
Ale zastanów się czy to naprawdę konieczne.
Jak szybko chodzi RS i jak długa obsługa przerwania?
Zegar 22.1184MHz, transmisja 115200 - czyli max. Obsługa przerwania około
40-50 cykli, timer - szacuję na 30-40 cykli, co 10ms.
pozdrawiam
From: zbyszeks_at_nospam_poczta.onet.pl
Subject: Re: Przerwania w '51
Date: 24 Nov 2002 22:31:57 +0100
Ale zastanów się czy to naprawdę konieczne.
Jak szybko chodzi RS i jak długa obsługa przerwania?
Zegar 22.1184MHz, transmisja 115200 - czyli max. Obsługa przerwania około
40-50 cykli, timer - szacuję na 30-40 cykli, co 10ms.
Wyjdź wcześniej z przerwania zapisując najpier adres na stosie.
reti pozwoli ci obsłużyć przerwanie od RS, a po wyjściu z tego przerwania
dokończysz tamto wychodząc z niego ret.
(możliwe jeśli nie będziesz miał kolizji np. w wartościach akumulatora itd.)
Pozdrowienia Zbyszek
--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
From: "Piotr C." <Piotr_at_nospam_MaBanana.com.INVALID>
Subject: Re: Przerwania w '51
Date: Sun, 24 Nov 2002 23:59:03 +0100
Użytkownik <zbyszeks_at_nospam_poczta.onet.pl> napisał w wiadomości
news:6dad.0000126f.3de1454d_at_nospam_newsgate.onet.pl...
WyjdĽ wcze?niej z przerwania zapisuj?c najpier adres na stosie.
reti pozwoli ci obsłużyć przerwanie od RS, a po wyj?ciu z tego przerwania
dokończysz tamto wychodz?c z niego ret.
(możliwe je?li nie będziesz miał kolizji np. w warto?ciach akumulatora
itd.)
No nieźle, podobają mi sie takie triki :-) Dzięki
pozdrawiam
From: "Bartosz Sarama" <quasimod_at_nospam_poczta.usun.onet.pl>
Subject: Re: Przerwania w '51
Date: Sun, 24 Nov 2002 12:19:48 +0100
Ustaw se lepiej priorytet seriala na najwyzszy i po problemie.
A da sie? JAK?
bajt IP.4
Jakiej prędkości używasz? Bo właściwie to żadko zachodzi taka
potrzeba. Na odczyt bajtu odebranego masz czas do chwili odebrania
następnego (czyli 1/Ftransmisji * 10) - a to najczęściej bardzo dużo
czasu :-)
Przerwania buduj tak, aby ich wykonanie zajmowało jak najmniej czasu
(np raczej ustawianie flag, które później obsługiwane są przez program
główny niż wykonywanie skomplikowanych operacji)
Pozdrawiam
Bartosz Sarama