<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=iso-8859-2" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.6001.18975"></HEAD>
<BODY>
<DIV dir=ltr align=left><FONT color=#008000 size=2 face=Arial><SPAN
class=681133905-26102010>Tak už jsem se v tom vybabral, chyba byla (kupodivu ;-)
u mne. Neuvědomil jsem si že INTF se nahazuje i v případě že mám INTE=0 a když
ho pak testuju tak mně to posílá jinam než chci.</SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT color=#008000 size=2 face=Arial><SPAN
class=681133905-26102010>Podobný problém je s T0IF - ten se taky pořád nahazuje,
takže pokud bych ho chtěl použít musím si být vědom toho, že TMR0 v podstatě
nejde zastavit jinak než že ho přepnu na pin GP2 ale tam mám to vnější přerušení
- odskakující kontakt a ten mi taky může (částečně) zaplňovat čítač. A kruh se
uzavřel.</SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT color=#008000 size=2 face=Arial><SPAN
class=681133905-26102010>Každopádně díky za diskuzi, ten princip vertikálních
čítačů je nádherný, jenom na jedno tlačítko trochu
naddimenzovaný.</SPAN></FONT></DIV>
<DIV> </DIV><!-- Converted from text/rtf format -->
<P><I><SPAN lang=cs><FONT size=2 face="MS Sans Serif">L.
Kručinský</FONT></SPAN></I><SPAN lang=cs></SPAN> </P>
<DIV> </DIV><BR>
<DIV dir=ltr lang=cs class=OutlookMessageHeader align=left>
<HR tabIndex=-1>
<FONT size=2 face=Tahoma><B>From:</B> hw-list-bounces@list.hw.cz
[mailto:hw-list-bounces@list.hw.cz] <B>On Behalf Of </B>andrej
jancura<BR><B>Sent:</B> Monday, October 25, 2010 5:45 PM<BR><B>To:</B>
HW-news<BR><B>Subject:</B> Re: Obsluhavnějšího přerušení u
PIC<BR></FONT><BR></DIV>
<DIV></DIV>On ten latch je na INTF flagu v INTCON. INTF sa vam nastavuje v
zavislosti od pinu. Az pokial mate INTFIE sa generuje prerusenie. Skuste si
napisat jednoduchy program na test toho INT pinu. Nastavte si prerusenie od INT
hrany a v preruseni si urobte kratky impulz s bsf, nop, bcf na nejaky iny pin a
pozrite si na osciloskope priebeh na vstupe INT a priebeh na tom pomocnom pine,
ktory budete nastavovat v obsluhe prerusenia. Taky kratky test pre nazornost.
Potom mozete pridavat nop-y alebo delay a pozorujte co sa
deje.<BR><BR>A.<BR><BR><BR>On Mon, 25 Oct 2010 17:22:12 +0200<BR>Kručinský
Ladislav <LADISLAV.KRUCINSKY@LINDE-MH.CZ>wrote:<BR>> To je zajímavé, tvrdíte
že pin pro vnější přerušení (u PIC 16F629 je <BR>>to GP2) má na vstupu latch
(to by vysvětlovalo to chování) ale ze <BR>>schématu v DS to nevyplývá - je
tam pouze kombinační logika až po <BR>>sdružený signál /interrupt to CPU. I
když je fakt, že někde ten <BR>>registr INTCON realizovaný být musí.<BR>>
Dneska večer budu ještě trochu hloubat. Děkuji všem za trpělivost.<BR>>
<BR>> <BR>> L. Kručinský <BR>> <BR>> <BR>> <BR>>
________________________________<BR>> <BR>>From:
hw-list-bounces@list.hw.cz [mailto:hw-list-bounces@list.hw.cz] <BR>>On Behalf
Of andrej jancura<BR>> Sent: Monday, October 25, 2010 11:54 AM<BR>> To:
HW-news<BR>> Subject: Re: Obsluhavnějšího přerušení u PIC<BR>> <BR>>
<BR>> Ten interrupt ma latch tiez, takze vy ho sice vynulujete, ale pocas
<BR>>tych dvoch ms ho znova nastavia. Jedno z moznych rieseni, ktore sa
<BR>>mne paci a aj mu rozumiem je od maximu, maju na to hotovy cip.
<BR>>Funguje to tak, ze po stlaceni tlacitka sa spusti timer s dead time.
<BR>>tento timer sa resetuje vzdy, ked pride kratky impulz a stale bezi
<BR>>dead time. platnu hodnotu dostanete az po uplynuti dead time a po
<BR>>poslednom prechode impulzu. Ten dead time si mozete kludne nastavit
<BR>>na 1 00ms, nic tym nepokazite... Skratit sa da vzdy. Este jedna
<BR>>poznamka, skuste zabudnut na INT pin s prerusenim a pouzite skor
<BR>>prerusenie TMR0 a INTF bit na detekciu tych kratkych impulzov.<BR>>
<BR>> A.<BR>> <BR>> <BR>> <BR>> <BR>> On Mon, 25 Oct 2010
11:28:10 +0200<BR>> Kručinský Ladislav wrote:<BR>>> Já to sice napsal
už v tom prvním mejlu ale šlo mi skutečně o to <BR>>>ověřit si zda se
chová mravně obsluha vnějšího přerušení. A jelikož <BR>>>se nechová mravně
tak budu mus et dále experimentovat. Za to navedení <BR>>>na vertikální
čítače děkuji ale tady (jedno tlačítko) by snad mohlo <BR>>>stačit
obyčejné časování. A jelikož je to vstup pro přerušení <BR>>>(předpokládám
tam latch někde na výstupu té kombinační logiky ENABLE <BR>>>& FLAG)
tak jsem uvažoval takto:<BR>>> první "chlup" od toho tlačítka se zapíše -
spustí obsluhu přerušení, <BR>>>kde hned v první instrukci to přeruše ní
zakážu, počkám 2 ms než <BR>>>vymažu flag a znovu povolím. A v rámci té
obsluhy si změním stav LED <BR>>>na výstupu.<BR>>> Ale nefunguje to
tak.<BR>>> <BR>>> L. Kručinský<BR>>> <BR>>>
-----Original Message-----<BR>>>From: hw-list-bounces@list.hw.cz
[mailto:hw-list-bounces@list.hw.cz] <BR>>>On Behalf Of Jan
Waclawek<BR>>> Sent: Monday, October 25, 2010 11:09 AM<BR>>> To:
HW-news<BR>>> Subject: Re: Obsluhavnějšího přerušení u PIC<BR>>>
<BR>>> No, 100ms to je uz riadne nah***o spinac, ale naozaj su aj take -
<BR>>>pamatate s i tie hnusne tvrde klikacie spinace v PMD verzie 1? No
tak <BR>>>tie su presne take nah***o.<BR>>> <BR>>> Inak
klasicka praca v tejto oblasti je od Jacka Ganssla:<BR>>>
http://www.ganssle.com/debouncing.htm<BR>>> <BR>>> <BR>>> A
velmi pekne riesenie pomocou uz spominanych vertikalnych <BR>>>pocitaciel,
vratane repeatu, od perfekcionalistu Petra Danneggera:<BR>>>
http://www.mikrocontroller.net/attachment/24823/file.c<BR>>> <BR>>>
Na externe prerusenie sa sice da tlacitko zavesit, ale nie je to
<BR>>>prilis vhodne riesenie, a odchlpenie sa aj tak robi typicky
<BR>>>casovacom, takze to externe prerusenie je napokon dost zbytocne
<BR>>>(ledazeby bolo vo funkcii zobudzania zaspateho jednocipu alebo tak
<BR>>>nejak).<BR>>> <BR>>> J.<BR>>> <BR>>>
_______________________________________________<BR>>> HW-list mailing list
- sponsored by www.HW.cz<BR>>> Hw-list@list.hw.cz<BR>>>
http://list.hw.cz/mailman/listinfo/hw-list<BR>>
<BR></LADISLAV.KRUCINSKY@LINDE-MH.CZ></BODY></HTML>