Re: Obsluha vnějšího přerušení u PIC
Miroslav Šinko
sinkomiro na gmail.com
Pondělí Říjen 25 12:30:48 CEST 2010
Asm som nestudoval, s PIC nerobim. Len pre ujasnenie otazka: je to
mikrospinac typu tlacitko (pritlacim - zopne, uvolnim - vypne)? Z
vasho popisu som vyrozumel, ze je prave taky a chcete reagovat len na
zopnutie. Stale vsak musite osetrit aj vypnutie, pri nom tiez
naskakuju impulziky. Pripada mi to tak, ze prave tu mate chybu.
Kondenzator aj 200ms problem riesia (200ms je zrejme cas za ktory
stihnete tlacitko aj uvolnit).
miro
2010/10/22 Kručinský Ladislav <ladislav.krucinsky na linde-mh.cz>:
> Dobrého večera přeji.
> Při pátku bych poprosil nějakého rutinéra aby mi zkusil naznačit co dělám
> blbě.
> Chci si ověřit, že program pro obsluhu vnějšího přerušení dělá to co chci já
> a zatím to nedopadá.
> HW:
> do GPIO2 jsem zapojil mirkospínač k 0V a nakonfiguroval pullup.
> na GPIO0 je výstup pro LED přes odpor k +5.
> Ostatní vstupy nehrají roli.
> SW:
> Abych si (vyloženě z cvičných důvodů) ověřil že podprogram ISR funguje
> dobře, tak v obsluze invertuju registr temp1(ř.65) a tím pak přepisuju porty
> GPIO(ř.46) - LEDka by měla na každé kliknutí změnit stav.
>
> Na vstupu GPIO2 jsou od mikrospínače odskoky v délce asi 400 us. Tak jsem si
> řekl, dobrá - při prvním sepnutí se zakáže přerušení a povolí se až po
> zpoždění 2 ms. Jenže to nefunguje - na mikrospínač klofu jak zběsilý a občas
> to přepne.
>
> Když zpoždění zvýším na 200 ms (ř.68 - movlw 0) tak to vcelku pravidelně
> přepne po dvojkliku.
> Ale pokud ošetřím vstup kondenzátorem (odskoky podle osciloskopu zmizí)
> funguje to tak jak chci (na každé kliknutí se překlopí) i bez zpoždění.
>
> No jo, jenže já chci ty odskoky ošetřit programem a ne kondenzátorem.
> Mohl byste někdo, pro koho je tohle denní rutina říct, kde dělám chybu ?
> Případně se podělit o obsluhu přerušení od odskakujícího spínače po vašem ?
>
> Jelikož se programováním bavím občas po večerech a za týden vše zapomenu, je
> ten program až infantilně komentovaný - ale já to tak potřebuju...
>
> Díky za trpělivost...
>
> <<int.asm>>
>
> Kručinský
>
Další informace o konferenci Hw-list