Cteni EEPROM u T89C51RD2
Jan Waclawek
konfera na efton.sk
Pondělí Leden 20 18:59:18 CET 2014
Aha, ale to este stale moze znamenat, ze mate vacsinu toho povodneho
programu, takze problem stale moze byt niekde inde v tom programe, nie?
Popis preruseni je v manuali sdcc, kap. 3.10; sposob pouzitia registrov v
kap. 3.10.2. V skratke, ak nepredpisete zmenu registrovej banky (co sa
robi zapisom do dvoch na to urcenych bitov v PSW), tak sa prerusenie sa
vykonava v tej istej registrovej banke (nulovej), pricom vsak prekladac
ulozi vsetky pouzivane registre na stack.
wek
----- Original Message ---------------
>Ten kód je jednoduchý, v cyklu se ètou byty s EEPROM a posílají v HEX na
>terminál. Kdy chyba nastane,
>posílají se samé nuly, kdy udìlám HW reset, ( není potøeba vypnutí ) , tak
>se data zase èotu dobøe.
>Intervaly mezi "dobøe " a "patnì" jsou v øádu jednotek hodin.
>Teï jsem udìlal brutální úpravu. EECON nastavuji na tvrdo pøi ètení na
>0x02 a pak zpìt na 0xFC, tak jak je po resetu.
>Taky jsem zakázal bìhem ètecí procedury vechna pøeruení. Jede to asi pùl
>hodiny bez problémù, ale to u tady bylo.
>
>Díval jsem se do assembleru ( produktu SDCC) a není mi jasné, jakým
>zpùsobem se pøiøazují registrové banky pro pøeruovací programy.
>U jsem to zapomnìl od doby, kdy jsem psal v assembleru. Pøeruovací
>rutiny ukládají na stack jen ACC, PSW a datapointer.
>Pokud výe popsaná úprava nepomùe, budu to muset nastudovat. Ta ètecí
>rutina pouívá R6 a R7 a pøeruovaví rutiny taky.
>Ale asi to je jiná banka, pokud si matnì pamatuju.
>
Další informace o konferenci Hw-list