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