Pic 16F874 rs232

Füzesi Arnold arno at freemail.hu
Mon Feb 9 21:19:16 CET 2004


Mégegyszer:
OERR-t vagy főprogramból, vagy Rxint-ből kezelitek.
Ez egyik sem igazán jó megoldás.

Főprogram le tud halni egy külső eseményre várás miatt.
Aminek be(nem)következése mondjuk függ a sorosporton bejövő adattól.
(Deadlock lesz, ha nem timeout-os minden eseményrevárás a főprogramban)

Az RX megszakitas meg nem történik meg ha OERR 1-be állt.

Ezért szerintem az egyetlen korrekt megoldás valamelyik Timer IT-ből kezelni
az OERR bitet.
Ez mindig lefut, nem érdekli a főprogram hol "kobászol".
Ha hiba volt, akkor reseteli a sorosportot. És minden megy tovább.
Annyi hátránya van, hogy a hibakezelés nem rögtön történik meg, de legalább
jósolható a "worst-case" válaszidő.
Mivel elég durva hiba az OERR, előbbi méltányolható.
Mondjuk ha főprogramba van betéve akkor sem mindig rögtön történik meg.
És nem is jósolható a válaszidő.

Arnold
----- Original Message ----- 
From: "Kondor Attila" <elektrolev at dpg.hu>
To: <elektro at tesla.hu>
Sent: Monday, February 09, 2004 6:39 PM
Subject: Re: Pic 16F874 rs232


Füzesi Arnold  <arno at freemail.hu> 2004.02.07. 16:02:17 +1h-kor írta:

>...........
> Elso korben az OERR bit nem kezelesere gyanakodnek.
> CREN=0;
> CREN=1;-el tudod torolni, ha overrun volt.
> ........
> (Es nem hibaturore (=timeout) van megcsinalva)
>
> Arnold
>

Amint bizonyara eszrevetted egy kesobbi levelben, kezelem az OERR-t,
de  Pilaszy Gyuri megoldasa jobb.

Nehany napot kihagytam es most mar az ST232-re gyanakszom, mert a
pic-rol levalasztva es visszahurkolva folyamatosan 55 ms-kent irva es
olvasva
egy ido utan nem egyezett. Csere utan mar joideje hiba nelkul megy a loop
back
test. Ha a gondokat sikerult felszamolnom a tanulsagokat kozzeteszem.

udv

ka
----







More information about the Elektro mailing list