Jak ztohoven - Reentrancy not allowed :-(

Slavomir Skopalik skopalik@elektlabs.cz
Sobota Září 8 17:51:45 CEST 2007


Ono je spise problem s pristupem k HW :)).
My jsme to resili tak, ze jme si delali buffry
na odchozi i prichozi znaky a v preruseni jsme
to odesilali a prijimali.

	Slavek

> 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.




Další informace o konferenci Hw-list