priznak preruseni u 8051

Jan Waclawek wek@evona.sk
Středa Červenec 6 13:29:48 CEST 2005


Vladimír Anděl wrote:
> No oni nektere priznaky, jako IE0, IE1, TF0, TF1 se nuluji samy po vyvolani
> obsluhy preruseni. Nulovat se musi snad jen seriovy kanal. Ale o to mi
> neslo. Potreboval bych vedet, jestli kdyz jsem v preruseni s vyssi prioritou
> a prijde pozadavek na preruseni s nizsi prioritou (tedy ten nizsi
> neprerusi), jestli se zapise do registru pozadavku preruseni a i kdyz vim,
> ze neprerusi ani po navratu z vyssi priority, jestli si ho tam mohu precist.
> 

Aha, uz konecne chapem Vasu dilemu.

Nuz, ziaden register poziadaviek preruseni neexistuje.

Na konci kazdej instrukcie sa vyhodnocuje, ci existuje poziadavka na 
prerusenie, t.j. ci je v 1 niektory z flagov ie0, ie1, tf0, tf1, ti, ri 
(po vymaskovani registrom povoleni prerusenia) a ci neprebieha 
prerusenie rovnakej a vyssej priority a ci nie je "ochranna doba" po 
reti a zapise do ie a ip...

Odpoved na Vasu otazku je teda: ANO.
:-)

Inaksie povedane, ak chcete zistit, ci Vam niekto brnkol po nohe 
externeho prerusenia, staci sa pozriet na jeho ieX flag (ale musi byt 
nastaveny na hranu!!! a brnknutie musi byt dost dlhe!) a to sa mozete 
pozriet hocikedy, aj ked medzitym uplynie vela vody dole (doplnit 
oblubenu rieku) a prebehne niekolko preruseni atd.atd. . Myslim, ze o 
toto Vam islo.

wek



Další informace o konferenci Hw-list