Jak ztohoven - Reentrancy not allowed :-(

CNCnet.info hwnews@cncnet.info
Sobota Září 8 17:24:44 CEST 2007


Zdravim,

uz si tady hodnou dobu lamu hlavu jak vybruslit z nasledujiciho problemu:

0:0 E-0 Linker error: Reentrancy not allowed: function [I2C_Write] 
called in both main and interrupt threads  

Je asi celkem jedno co to je za prekladac (mikroPascal od 
Mikroelektroniky). Jestli cely problem te hlasky chapu dobre tak mi 
linker hlasi, ze jak v hlavnim programu tak interrupt dochazi k volani 
stejne rutiny. Pravdepodobne je to proto, ze by se mu popraly promenne 
pokud by doslo k preruseni uprostred teto rutiny a v zapeti by se do ni 
vlezlo znovu v preruseni.

Nicmene ted si marne lamu hlavu co s tim, protoze to je dosti brutalni 
omezeni - musel bych dosti striktne oddelit casti kodu, ale i tak si to 
nedokazu moc predstavit - ted momentalne to rve kvuli tomu, ze si na I2C 
expander v ramci inicializace zarizeni poslu prikaz na zhasnuti displeje 
a zaroven v interruptu kde resim prijem dat z USARTu jsem chtel tyto 
rovnou sypat do I2C FRAMky.

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




Další informace o konferenci Hw-list