Jak ztohoven - Reentrancy not allowed :-(

CNCnet.info hwnews@cncnet.info
Sobota Září 8 19:06:16 CEST 2007


Ja bych to nemusel ani nijak moc komplikovat. V hlavni smycce potrebuji 
vyvolat komunikaci na LAN a jakmile to udelam zapnu preruseni na USARTu 
a dokud mi to preruseni nenastavi flag ze vsechny znaky prisly tak 
proste znovu na LAN komunikovat nebudu. Mel jsem takovou ideu, ze 
odpoved z webu budu sypat znak po znaku do FRAMky, protoze tohle do RAM 
v zadnem pripade nedostanu a pak si je v klidu nekdy zobrazim na LCD. 
Takze ja presne vim kdy se mi co uvolnuje.

Jinak zatim o nic nejde zatim si jen tak hraju.

Radek Vicek 
======================================================================
http://www.cncnet.info - problematika CNC a automatizace
http://www.jakjevenku.info - webová meteostanice



Miroslav Sinko napsal(a):
> Neviem, co s tym, ked to uz linker poklada za chybu (nepoznam ten
> prekladac), ale normalne sa problem casovej vylucnosti vstupu do
> nejakej rutiny vola kriticka sekcia. Budete mat globalny flag, ktory si
> kazda volajuca rutina (main, interrupt..) pred vstupom do kritickej
> sekcie overi. Ak je "volno", nastavi ho na "obsadene" a vstupi. Po
> ukonceni vykonu kodu v kritickej sekcii ho opat uvolni. Teda ak druha
> rutina zisti, ze je "obsadene", bude cakat na zmenu na "volno". Flag
> samozrejme musi byt volatile a musi sa zabezpecit "atomicnost" krokov
> 'kontrola vratila volno' a 'nastav na obsadene'. 8051 ma na to krasnu
> instrukciu JBC bit,rel (Jump if Bit is set and Clear bit)
>
> Co sa tyka zdielaneho vyuzivania I2C, tak asi jedine buffer.
>
> miro
>   
>   



Další informace o konferenci Hw-list